Merge commit 'v2.6.38-rc3' into perf/core
Merge reason: Pick up latest fixes. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
1
.mailmap
1
.mailmap
@@ -23,6 +23,7 @@ Andy Adamson <andros@citi.umich.edu>
|
|||||||
Arnaud Patard <arnaud.patard@rtp-net.org>
|
Arnaud Patard <arnaud.patard@rtp-net.org>
|
||||||
Arnd Bergmann <arnd@arndb.de>
|
Arnd Bergmann <arnd@arndb.de>
|
||||||
Axel Dyks <xl@xlsigned.net>
|
Axel Dyks <xl@xlsigned.net>
|
||||||
|
Axel Lin <axel.lin@gmail.com>
|
||||||
Ben Gardner <bgardner@wabtec.com>
|
Ben Gardner <bgardner@wabtec.com>
|
||||||
Ben M Cahill <ben.m.cahill@intel.com>
|
Ben M Cahill <ben.m.cahill@intel.com>
|
||||||
Björn Steinbrink <B.Steinbrink@gmx.de>
|
Björn Steinbrink <B.Steinbrink@gmx.de>
|
||||||
|
25
Documentation/ABI/testing/sysfs-platform-at91
Normal file
25
Documentation/ABI/testing/sysfs-platform-at91
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
What: /sys/devices/platform/at91_can/net/<iface>/mb0_id
|
||||||
|
Date: January 2011
|
||||||
|
KernelVersion: 2.6.38
|
||||||
|
Contact: Marc Kleine-Budde <kernel@pengutronix.de>
|
||||||
|
Description:
|
||||||
|
Value representing the can_id of mailbox 0.
|
||||||
|
|
||||||
|
Default: 0x7ff (standard frame)
|
||||||
|
|
||||||
|
Due to a chip bug (errata 50.2.6.3 & 50.3.5.3 in
|
||||||
|
"AT91SAM9263 Preliminary 6249H-ATARM-27-Jul-09") the
|
||||||
|
contents of mailbox 0 may be send under certain
|
||||||
|
conditions (even if disabled or in rx mode).
|
||||||
|
|
||||||
|
The workaround in the errata suggests not to use the
|
||||||
|
mailbox and load it with an unused identifier.
|
||||||
|
|
||||||
|
In order to use an extended can_id add the
|
||||||
|
CAN_EFF_FLAG (0x80000000U) to the can_id. Example:
|
||||||
|
|
||||||
|
- standard id 0x7ff:
|
||||||
|
echo 0x7ff > /sys/class/net/can0/mb0_id
|
||||||
|
|
||||||
|
- extended id 0x1fffffff:
|
||||||
|
echo 0x9fffffff > /sys/class/net/can0/mb0_id
|
@@ -217,8 +217,8 @@ X!Isound/sound_firmware.c
|
|||||||
<chapter id="uart16x50">
|
<chapter id="uart16x50">
|
||||||
<title>16x50 UART Driver</title>
|
<title>16x50 UART Driver</title>
|
||||||
!Iinclude/linux/serial_core.h
|
!Iinclude/linux/serial_core.h
|
||||||
!Edrivers/serial/serial_core.c
|
!Edrivers/tty/serial/serial_core.c
|
||||||
!Edrivers/serial/8250.c
|
!Edrivers/tty/serial/8250.c
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<chapter id="fbdev">
|
<chapter id="fbdev">
|
||||||
|
@@ -28,7 +28,7 @@
|
|||||||
<holder>Convergence GmbH</holder>
|
<holder>Convergence GmbH</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
<copyright>
|
<copyright>
|
||||||
<year>2009-2010</year>
|
<year>2009-2011</year>
|
||||||
<holder>Mauro Carvalho Chehab</holder>
|
<holder>Mauro Carvalho Chehab</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
|
|
||||||
|
@@ -28,7 +28,7 @@
|
|||||||
<title>LINUX MEDIA INFRASTRUCTURE API</title>
|
<title>LINUX MEDIA INFRASTRUCTURE API</title>
|
||||||
|
|
||||||
<copyright>
|
<copyright>
|
||||||
<year>2009-2010</year>
|
<year>2009-2011</year>
|
||||||
<holder>LinuxTV Developers</holder>
|
<holder>LinuxTV Developers</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ Foundation. A copy of the license is included in the chapter entitled
|
|||||||
</author>
|
</author>
|
||||||
</authorgroup>
|
</authorgroup>
|
||||||
<copyright>
|
<copyright>
|
||||||
<year>2009-2010</year>
|
<year>2009-2011</year>
|
||||||
<holder>Mauro Carvalho Chehab</holder>
|
<holder>Mauro Carvalho Chehab</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
|
|
||||||
|
@@ -75,6 +75,7 @@ as follows:</para>
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
|
<title>RDS datastructures</title>
|
||||||
<table frame="none" pgwide="1" id="v4l2-rds-data">
|
<table frame="none" pgwide="1" id="v4l2-rds-data">
|
||||||
<title>struct
|
<title>struct
|
||||||
<structname>v4l2_rds_data</structname></title>
|
<structname>v4l2_rds_data</structname></title>
|
||||||
@@ -129,10 +130,11 @@ as follows:</para>
|
|||||||
|
|
||||||
<table frame="none" pgwide="1" id="v4l2-rds-block-codes">
|
<table frame="none" pgwide="1" id="v4l2-rds-block-codes">
|
||||||
<title>Block defines</title>
|
<title>Block defines</title>
|
||||||
<tgroup cols="3">
|
<tgroup cols="4">
|
||||||
<colspec colname="c1" colwidth="1*" />
|
<colspec colname="c1" colwidth="1*" />
|
||||||
<colspec colname="c2" colwidth="1*" />
|
<colspec colname="c2" colwidth="1*" />
|
||||||
<colspec colname="c3" colwidth="5*" />
|
<colspec colname="c3" colwidth="1*" />
|
||||||
|
<colspec colname="c4" colwidth="5*" />
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
<row>
|
<row>
|
||||||
<entry>V4L2_RDS_BLOCK_MSK</entry>
|
<entry>V4L2_RDS_BLOCK_MSK</entry>
|
||||||
|
@@ -100,6 +100,7 @@ Remote Controller chapter.</contrib>
|
|||||||
<year>2008</year>
|
<year>2008</year>
|
||||||
<year>2009</year>
|
<year>2009</year>
|
||||||
<year>2010</year>
|
<year>2010</year>
|
||||||
|
<year>2011</year>
|
||||||
<holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin
|
<holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin
|
||||||
Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab</holder>
|
Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
@@ -381,7 +382,7 @@ and discussions on the V4L mailing list.</revremark>
|
|||||||
</partinfo>
|
</partinfo>
|
||||||
|
|
||||||
<title>Video for Linux Two API Specification</title>
|
<title>Video for Linux Two API Specification</title>
|
||||||
<subtitle>Revision 2.6.33</subtitle>
|
<subtitle>Revision 2.6.38</subtitle>
|
||||||
|
|
||||||
<chapter id="common">
|
<chapter id="common">
|
||||||
&sub-common;
|
&sub-common;
|
||||||
|
@@ -357,14 +357,6 @@ Who: Dave Jones <davej@redhat.com>, Matthew Garrett <mjg@redhat.com>
|
|||||||
|
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
What: __do_IRQ all in one fits nothing interrupt handler
|
|
||||||
When: 2.6.32
|
|
||||||
Why: __do_IRQ was kept for easy migration to the type flow handlers.
|
|
||||||
More than two years of migration time is enough.
|
|
||||||
Who: Thomas Gleixner <tglx@linutronix.de>
|
|
||||||
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
What: fakephp and associated sysfs files in /sys/bus/pci/slots/
|
What: fakephp and associated sysfs files in /sys/bus/pci/slots/
|
||||||
When: 2011
|
When: 2011
|
||||||
Why: In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to
|
Why: In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to
|
||||||
|
@@ -460,6 +460,8 @@ Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.
|
|||||||
2.1.30:
|
2.1.30:
|
||||||
- Fix writev() (it kept writing the first segment over and over again
|
- Fix writev() (it kept writing the first segment over and over again
|
||||||
instead of moving onto subsequent segments).
|
instead of moving onto subsequent segments).
|
||||||
|
- Fix crash in ntfs_mft_record_alloc() when mapping the new extent mft
|
||||||
|
record failed.
|
||||||
2.1.29:
|
2.1.29:
|
||||||
- Fix a deadlock when mounting read-write.
|
- Fix a deadlock when mounting read-write.
|
||||||
2.1.28:
|
2.1.28:
|
||||||
|
@@ -43,11 +43,11 @@ parameter is applicable:
|
|||||||
AVR32 AVR32 architecture is enabled.
|
AVR32 AVR32 architecture is enabled.
|
||||||
AX25 Appropriate AX.25 support is enabled.
|
AX25 Appropriate AX.25 support is enabled.
|
||||||
BLACKFIN Blackfin architecture is enabled.
|
BLACKFIN Blackfin architecture is enabled.
|
||||||
|
DRM Direct Rendering Management support is enabled.
|
||||||
|
DYNAMIC_DEBUG Build in debug messages and enable them at runtime
|
||||||
EDD BIOS Enhanced Disk Drive Services (EDD) is enabled
|
EDD BIOS Enhanced Disk Drive Services (EDD) is enabled
|
||||||
EFI EFI Partitioning (GPT) is enabled
|
EFI EFI Partitioning (GPT) is enabled
|
||||||
EIDE EIDE/ATAPI support is enabled.
|
EIDE EIDE/ATAPI support is enabled.
|
||||||
DRM Direct Rendering Management support is enabled.
|
|
||||||
DYNAMIC_DEBUG Build in debug messages and enable them at runtime
|
|
||||||
FB The frame buffer device is enabled.
|
FB The frame buffer device is enabled.
|
||||||
GCOV GCOV profiling is enabled.
|
GCOV GCOV profiling is enabled.
|
||||||
HW Appropriate hardware is enabled.
|
HW Appropriate hardware is enabled.
|
||||||
|
@@ -39,6 +39,9 @@
|
|||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <grp.h>
|
||||||
|
|
||||||
#include <linux/virtio_config.h>
|
#include <linux/virtio_config.h>
|
||||||
#include <linux/virtio_net.h>
|
#include <linux/virtio_net.h>
|
||||||
#include <linux/virtio_blk.h>
|
#include <linux/virtio_blk.h>
|
||||||
@@ -298,20 +301,27 @@ static void *map_zeroed_pages(unsigned int num)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* We use a private mapping (ie. if we write to the page, it will be
|
* We use a private mapping (ie. if we write to the page, it will be
|
||||||
* copied).
|
* copied). We allocate an extra two pages PROT_NONE to act as guard
|
||||||
|
* pages against read/write attempts that exceed allocated space.
|
||||||
*/
|
*/
|
||||||
addr = mmap(NULL, getpagesize() * num,
|
addr = mmap(NULL, getpagesize() * (num+2),
|
||||||
PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, fd, 0);
|
PROT_NONE, MAP_PRIVATE, fd, 0);
|
||||||
|
|
||||||
if (addr == MAP_FAILED)
|
if (addr == MAP_FAILED)
|
||||||
err(1, "Mmapping %u pages of /dev/zero", num);
|
err(1, "Mmapping %u pages of /dev/zero", num);
|
||||||
|
|
||||||
|
if (mprotect(addr + getpagesize(), getpagesize() * num,
|
||||||
|
PROT_READ|PROT_WRITE) == -1)
|
||||||
|
err(1, "mprotect rw %u pages failed", num);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* One neat mmap feature is that you can close the fd, and it
|
* One neat mmap feature is that you can close the fd, and it
|
||||||
* stays mapped.
|
* stays mapped.
|
||||||
*/
|
*/
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
||||||
return addr;
|
/* Return address after PROT_NONE page */
|
||||||
|
return addr + getpagesize();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get some more pages for a device. */
|
/* Get some more pages for a device. */
|
||||||
@@ -343,7 +353,7 @@ static void map_at(int fd, void *addr, unsigned long offset, unsigned long len)
|
|||||||
* done to it. This allows us to share untouched memory between
|
* done to it. This allows us to share untouched memory between
|
||||||
* Guests.
|
* Guests.
|
||||||
*/
|
*/
|
||||||
if (mmap(addr, len, PROT_READ|PROT_WRITE|PROT_EXEC,
|
if (mmap(addr, len, PROT_READ|PROT_WRITE,
|
||||||
MAP_FIXED|MAP_PRIVATE, fd, offset) != MAP_FAILED)
|
MAP_FIXED|MAP_PRIVATE, fd, offset) != MAP_FAILED)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -573,10 +583,10 @@ static void *_check_pointer(unsigned long addr, unsigned int size,
|
|||||||
unsigned int line)
|
unsigned int line)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* We have to separately check addr and addr+size, because size could
|
* Check if the requested address and size exceeds the allocated memory,
|
||||||
* be huge and addr + size might wrap around.
|
* or addr + size wraps around.
|
||||||
*/
|
*/
|
||||||
if (addr >= guest_limit || addr + size >= guest_limit)
|
if ((addr + size) > guest_limit || (addr + size) < addr)
|
||||||
errx(1, "%s:%i: Invalid address %#lx", __FILE__, line, addr);
|
errx(1, "%s:%i: Invalid address %#lx", __FILE__, line, addr);
|
||||||
/*
|
/*
|
||||||
* We return a pointer for the caller's convenience, now we know it's
|
* We return a pointer for the caller's convenience, now we know it's
|
||||||
@@ -1872,6 +1882,8 @@ static struct option opts[] = {
|
|||||||
{ "block", 1, NULL, 'b' },
|
{ "block", 1, NULL, 'b' },
|
||||||
{ "rng", 0, NULL, 'r' },
|
{ "rng", 0, NULL, 'r' },
|
||||||
{ "initrd", 1, NULL, 'i' },
|
{ "initrd", 1, NULL, 'i' },
|
||||||
|
{ "username", 1, NULL, 'u' },
|
||||||
|
{ "chroot", 1, NULL, 'c' },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
static void usage(void)
|
static void usage(void)
|
||||||
@@ -1894,6 +1906,12 @@ int main(int argc, char *argv[])
|
|||||||
/* If they specify an initrd file to load. */
|
/* If they specify an initrd file to load. */
|
||||||
const char *initrd_name = NULL;
|
const char *initrd_name = NULL;
|
||||||
|
|
||||||
|
/* Password structure for initgroups/setres[gu]id */
|
||||||
|
struct passwd *user_details = NULL;
|
||||||
|
|
||||||
|
/* Directory to chroot to */
|
||||||
|
char *chroot_path = NULL;
|
||||||
|
|
||||||
/* Save the args: we "reboot" by execing ourselves again. */
|
/* Save the args: we "reboot" by execing ourselves again. */
|
||||||
main_args = argv;
|
main_args = argv;
|
||||||
|
|
||||||
@@ -1950,6 +1968,14 @@ int main(int argc, char *argv[])
|
|||||||
case 'i':
|
case 'i':
|
||||||
initrd_name = optarg;
|
initrd_name = optarg;
|
||||||
break;
|
break;
|
||||||
|
case 'u':
|
||||||
|
user_details = getpwnam(optarg);
|
||||||
|
if (!user_details)
|
||||||
|
err(1, "getpwnam failed, incorrect username?");
|
||||||
|
break;
|
||||||
|
case 'c':
|
||||||
|
chroot_path = optarg;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
warnx("Unknown argument %s", argv[optind]);
|
warnx("Unknown argument %s", argv[optind]);
|
||||||
usage();
|
usage();
|
||||||
@@ -2021,6 +2047,37 @@ int main(int argc, char *argv[])
|
|||||||
/* If we exit via err(), this kills all the threads, restores tty. */
|
/* If we exit via err(), this kills all the threads, restores tty. */
|
||||||
atexit(cleanup_devices);
|
atexit(cleanup_devices);
|
||||||
|
|
||||||
|
/* If requested, chroot to a directory */
|
||||||
|
if (chroot_path) {
|
||||||
|
if (chroot(chroot_path) != 0)
|
||||||
|
err(1, "chroot(\"%s\") failed", chroot_path);
|
||||||
|
|
||||||
|
if (chdir("/") != 0)
|
||||||
|
err(1, "chdir(\"/\") failed");
|
||||||
|
|
||||||
|
verbose("chroot done\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If requested, drop privileges */
|
||||||
|
if (user_details) {
|
||||||
|
uid_t u;
|
||||||
|
gid_t g;
|
||||||
|
|
||||||
|
u = user_details->pw_uid;
|
||||||
|
g = user_details->pw_gid;
|
||||||
|
|
||||||
|
if (initgroups(user_details->pw_name, g) != 0)
|
||||||
|
err(1, "initgroups failed");
|
||||||
|
|
||||||
|
if (setresgid(g, g, g) != 0)
|
||||||
|
err(1, "setresgid failed");
|
||||||
|
|
||||||
|
if (setresuid(u, u, u) != 0)
|
||||||
|
err(1, "setresuid failed");
|
||||||
|
|
||||||
|
verbose("Dropping privileges completed\n");
|
||||||
|
}
|
||||||
|
|
||||||
/* Finally, run the Guest. This doesn't return. */
|
/* Finally, run the Guest. This doesn't return. */
|
||||||
run_guest();
|
run_guest();
|
||||||
}
|
}
|
||||||
|
@@ -117,6 +117,11 @@ Running Lguest:
|
|||||||
|
|
||||||
for general information on how to get bridging to work.
|
for general information on how to get bridging to work.
|
||||||
|
|
||||||
|
- Random number generation. Using the --rng option will provide a
|
||||||
|
/dev/hwrng in the guest that will read from the host's /dev/random.
|
||||||
|
Use this option in conjunction with rng-tools (see ../hw_random.txt)
|
||||||
|
to provide entropy to the guest kernel's /dev/random.
|
||||||
|
|
||||||
There is a helpful mailing list at http://ozlabs.org/mailman/listinfo/lguest
|
There is a helpful mailing list at http://ozlabs.org/mailman/listinfo/lguest
|
||||||
|
|
||||||
Good luck!
|
Good luck!
|
||||||
|
@@ -49,7 +49,8 @@ Table of Contents
|
|||||||
3.3 Configuring Bonding Manually with Ifenslave
|
3.3 Configuring Bonding Manually with Ifenslave
|
||||||
3.3.1 Configuring Multiple Bonds Manually
|
3.3.1 Configuring Multiple Bonds Manually
|
||||||
3.4 Configuring Bonding Manually via Sysfs
|
3.4 Configuring Bonding Manually via Sysfs
|
||||||
3.5 Overriding Configuration for Special Cases
|
3.5 Configuration with Interfaces Support
|
||||||
|
3.6 Overriding Configuration for Special Cases
|
||||||
|
|
||||||
4. Querying Bonding Configuration
|
4. Querying Bonding Configuration
|
||||||
4.1 Bonding Configuration
|
4.1 Bonding Configuration
|
||||||
@@ -161,8 +162,8 @@ onwards) do not have /usr/include/linux symbolically linked to the
|
|||||||
default kernel source include directory.
|
default kernel source include directory.
|
||||||
|
|
||||||
SECOND IMPORTANT NOTE:
|
SECOND IMPORTANT NOTE:
|
||||||
If you plan to configure bonding using sysfs, you do not need
|
If you plan to configure bonding using sysfs or using the
|
||||||
to use ifenslave.
|
/etc/network/interfaces file, you do not need to use ifenslave.
|
||||||
|
|
||||||
2. Bonding Driver Options
|
2. Bonding Driver Options
|
||||||
=========================
|
=========================
|
||||||
@@ -779,22 +780,26 @@ resend_igmp
|
|||||||
|
|
||||||
You can configure bonding using either your distro's network
|
You can configure bonding using either your distro's network
|
||||||
initialization scripts, or manually using either ifenslave or the
|
initialization scripts, or manually using either ifenslave or the
|
||||||
sysfs interface. Distros generally use one of two packages for the
|
sysfs interface. Distros generally use one of three packages for the
|
||||||
network initialization scripts: initscripts or sysconfig. Recent
|
network initialization scripts: initscripts, sysconfig or interfaces.
|
||||||
versions of these packages have support for bonding, while older
|
Recent versions of these packages have support for bonding, while older
|
||||||
versions do not.
|
versions do not.
|
||||||
|
|
||||||
We will first describe the options for configuring bonding for
|
We will first describe the options for configuring bonding for
|
||||||
distros using versions of initscripts and sysconfig with full or
|
distros using versions of initscripts, sysconfig and interfaces with full
|
||||||
partial support for bonding, then provide information on enabling
|
or partial support for bonding, then provide information on enabling
|
||||||
bonding without support from the network initialization scripts (i.e.,
|
bonding without support from the network initialization scripts (i.e.,
|
||||||
older versions of initscripts or sysconfig).
|
older versions of initscripts or sysconfig).
|
||||||
|
|
||||||
If you're unsure whether your distro uses sysconfig or
|
If you're unsure whether your distro uses sysconfig,
|
||||||
initscripts, or don't know if it's new enough, have no fear.
|
initscripts or interfaces, or don't know if it's new enough, have no fear.
|
||||||
Determining this is fairly straightforward.
|
Determining this is fairly straightforward.
|
||||||
|
|
||||||
First, issue the command:
|
First, look for a file called interfaces in /etc/network directory.
|
||||||
|
If this file is present in your system, then your system use interfaces. See
|
||||||
|
Configuration with Interfaces Support.
|
||||||
|
|
||||||
|
Else, issue the command:
|
||||||
|
|
||||||
$ rpm -qf /sbin/ifup
|
$ rpm -qf /sbin/ifup
|
||||||
|
|
||||||
@@ -1327,8 +1332,62 @@ echo 2000 > /sys/class/net/bond1/bonding/arp_interval
|
|||||||
echo +eth2 > /sys/class/net/bond1/bonding/slaves
|
echo +eth2 > /sys/class/net/bond1/bonding/slaves
|
||||||
echo +eth3 > /sys/class/net/bond1/bonding/slaves
|
echo +eth3 > /sys/class/net/bond1/bonding/slaves
|
||||||
|
|
||||||
3.5 Overriding Configuration for Special Cases
|
3.5 Configuration with Interfaces Support
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
This section applies to distros which use /etc/network/interfaces file
|
||||||
|
to describe network interface configuration, most notably Debian and it's
|
||||||
|
derivatives.
|
||||||
|
|
||||||
|
The ifup and ifdown commands on Debian don't support bonding out of
|
||||||
|
the box. The ifenslave-2.6 package should be installed to provide bonding
|
||||||
|
support. Once installed, this package will provide bond-* options to be used
|
||||||
|
into /etc/network/interfaces.
|
||||||
|
|
||||||
|
Note that ifenslave-2.6 package will load the bonding module and use
|
||||||
|
the ifenslave command when appropriate.
|
||||||
|
|
||||||
|
Example Configurations
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
In /etc/network/interfaces, the following stanza will configure bond0, in
|
||||||
|
active-backup mode, with eth0 and eth1 as slaves.
|
||||||
|
|
||||||
|
auto bond0
|
||||||
|
iface bond0 inet dhcp
|
||||||
|
bond-slaves eth0 eth1
|
||||||
|
bond-mode active-backup
|
||||||
|
bond-miimon 100
|
||||||
|
bond-primary eth0 eth1
|
||||||
|
|
||||||
|
If the above configuration doesn't work, you might have a system using
|
||||||
|
upstart for system startup. This is most notably true for recent
|
||||||
|
Ubuntu versions. The following stanza in /etc/network/interfaces will
|
||||||
|
produce the same result on those systems.
|
||||||
|
|
||||||
|
auto bond0
|
||||||
|
iface bond0 inet dhcp
|
||||||
|
bond-slaves none
|
||||||
|
bond-mode active-backup
|
||||||
|
bond-miimon 100
|
||||||
|
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet manual
|
||||||
|
bond-master bond0
|
||||||
|
bond-primary eth0 eth1
|
||||||
|
|
||||||
|
auto eth1
|
||||||
|
iface eth1 inet manual
|
||||||
|
bond-master bond0
|
||||||
|
bond-primary eth0 eth1
|
||||||
|
|
||||||
|
For a full list of bond-* supported options in /etc/network/interfaces and some
|
||||||
|
more advanced examples tailored to you particular distros, see the files in
|
||||||
|
/usr/share/doc/ifenslave-2.6.
|
||||||
|
|
||||||
|
3.6 Overriding Configuration for Special Cases
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
When using the bonding driver, the physical port which transmits a frame is
|
When using the bonding driver, the physical port which transmits a frame is
|
||||||
typically selected by the bonding driver, and is not relevant to the user or
|
typically selected by the bonding driver, and is not relevant to the user or
|
||||||
system administrator. The output port is simply selected using the policies of
|
system administrator. The output port is simply selected using the policies of
|
||||||
|
@@ -27,42 +27,38 @@ ASoC Codec driver breakdown
|
|||||||
|
|
||||||
1 - Codec DAI and PCM configuration
|
1 - Codec DAI and PCM configuration
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
Each codec driver must have a struct snd_soc_codec_dai to define its DAI and
|
Each codec driver must have a struct snd_soc_dai_driver to define its DAI and
|
||||||
PCM capabilities and operations. This struct is exported so that it can be
|
PCM capabilities and operations. This struct is exported so that it can be
|
||||||
registered with the core by your machine driver.
|
registered with the core by your machine driver.
|
||||||
|
|
||||||
e.g.
|
e.g.
|
||||||
|
|
||||||
struct snd_soc_codec_dai wm8731_dai = {
|
static struct snd_soc_dai_ops wm8731_dai_ops = {
|
||||||
.name = "WM8731",
|
.prepare = wm8731_pcm_prepare,
|
||||||
/* playback capabilities */
|
.hw_params = wm8731_hw_params,
|
||||||
|
.shutdown = wm8731_shutdown,
|
||||||
|
.digital_mute = wm8731_mute,
|
||||||
|
.set_sysclk = wm8731_set_dai_sysclk,
|
||||||
|
.set_fmt = wm8731_set_dai_fmt,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct snd_soc_dai_driver wm8731_dai = {
|
||||||
|
.name = "wm8731-hifi",
|
||||||
.playback = {
|
.playback = {
|
||||||
.stream_name = "Playback",
|
.stream_name = "Playback",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 2,
|
.channels_max = 2,
|
||||||
.rates = WM8731_RATES,
|
.rates = WM8731_RATES,
|
||||||
.formats = WM8731_FORMATS,},
|
.formats = WM8731_FORMATS,},
|
||||||
/* capture capabilities */
|
|
||||||
.capture = {
|
.capture = {
|
||||||
.stream_name = "Capture",
|
.stream_name = "Capture",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 2,
|
.channels_max = 2,
|
||||||
.rates = WM8731_RATES,
|
.rates = WM8731_RATES,
|
||||||
.formats = WM8731_FORMATS,},
|
.formats = WM8731_FORMATS,},
|
||||||
/* pcm operations - see section 4 below */
|
.ops = &wm8731_dai_ops,
|
||||||
.ops = {
|
.symmetric_rates = 1,
|
||||||
.prepare = wm8731_pcm_prepare,
|
|
||||||
.hw_params = wm8731_hw_params,
|
|
||||||
.shutdown = wm8731_shutdown,
|
|
||||||
},
|
|
||||||
/* DAI operations - see DAI.txt */
|
|
||||||
.dai_ops = {
|
|
||||||
.digital_mute = wm8731_mute,
|
|
||||||
.set_sysclk = wm8731_set_dai_sysclk,
|
|
||||||
.set_fmt = wm8731_set_dai_fmt,
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(wm8731_dai);
|
|
||||||
|
|
||||||
|
|
||||||
2 - Codec control IO
|
2 - Codec control IO
|
||||||
@@ -186,13 +182,14 @@ when the mute is applied or freed.
|
|||||||
|
|
||||||
i.e.
|
i.e.
|
||||||
|
|
||||||
static int wm8974_mute(struct snd_soc_codec *codec,
|
static int wm8974_mute(struct snd_soc_dai *dai, int mute)
|
||||||
struct snd_soc_codec_dai *dai, int mute)
|
|
||||||
{
|
{
|
||||||
u16 mute_reg = wm8974_read_reg_cache(codec, WM8974_DAC) & 0xffbf;
|
struct snd_soc_codec *codec = dai->codec;
|
||||||
if(mute)
|
u16 mute_reg = snd_soc_read(codec, WM8974_DAC) & 0xffbf;
|
||||||
wm8974_write(codec, WM8974_DAC, mute_reg | 0x40);
|
|
||||||
|
if (mute)
|
||||||
|
snd_soc_write(codec, WM8974_DAC, mute_reg | 0x40);
|
||||||
else
|
else
|
||||||
wm8974_write(codec, WM8974_DAC, mute_reg);
|
snd_soc_write(codec, WM8974_DAC, mute_reg);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -12,6 +12,8 @@ the following struct:-
|
|||||||
struct snd_soc_card {
|
struct snd_soc_card {
|
||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
int (*probe)(struct platform_device *pdev);
|
int (*probe)(struct platform_device *pdev);
|
||||||
int (*remove)(struct platform_device *pdev);
|
int (*remove)(struct platform_device *pdev);
|
||||||
|
|
||||||
@@ -22,12 +24,13 @@ struct snd_soc_card {
|
|||||||
int (*resume_pre)(struct platform_device *pdev);
|
int (*resume_pre)(struct platform_device *pdev);
|
||||||
int (*resume_post)(struct platform_device *pdev);
|
int (*resume_post)(struct platform_device *pdev);
|
||||||
|
|
||||||
/* machine stream operations */
|
...
|
||||||
struct snd_soc_ops *ops;
|
|
||||||
|
|
||||||
/* CPU <--> Codec DAI links */
|
/* CPU <--> Codec DAI links */
|
||||||
struct snd_soc_dai_link *dai_link;
|
struct snd_soc_dai_link *dai_link;
|
||||||
int num_links;
|
int num_links;
|
||||||
|
|
||||||
|
...
|
||||||
};
|
};
|
||||||
|
|
||||||
probe()/remove()
|
probe()/remove()
|
||||||
@@ -42,11 +45,6 @@ of any machine audio tasks that have to be done before or after the codec, DAIs
|
|||||||
and DMA is suspended and resumed. Optional.
|
and DMA is suspended and resumed. Optional.
|
||||||
|
|
||||||
|
|
||||||
Machine operations
|
|
||||||
------------------
|
|
||||||
The machine specific audio operations can be set here. Again this is optional.
|
|
||||||
|
|
||||||
|
|
||||||
Machine DAI Configuration
|
Machine DAI Configuration
|
||||||
-------------------------
|
-------------------------
|
||||||
The machine DAI configuration glues all the codec and CPU DAIs together. It can
|
The machine DAI configuration glues all the codec and CPU DAIs together. It can
|
||||||
@@ -61,8 +59,10 @@ struct snd_soc_dai_link is used to set up each DAI in your machine. e.g.
|
|||||||
static struct snd_soc_dai_link corgi_dai = {
|
static struct snd_soc_dai_link corgi_dai = {
|
||||||
.name = "WM8731",
|
.name = "WM8731",
|
||||||
.stream_name = "WM8731",
|
.stream_name = "WM8731",
|
||||||
.cpu_dai = &pxa_i2s_dai,
|
.cpu_dai_name = "pxa-is2-dai",
|
||||||
.codec_dai = &wm8731_dai,
|
.codec_dai_name = "wm8731-hifi",
|
||||||
|
.platform_name = "pxa-pcm-audio",
|
||||||
|
.codec_name = "wm8713-codec.0-001a",
|
||||||
.init = corgi_wm8731_init,
|
.init = corgi_wm8731_init,
|
||||||
.ops = &corgi_ops,
|
.ops = &corgi_ops,
|
||||||
};
|
};
|
||||||
@@ -77,26 +77,6 @@ static struct snd_soc_card snd_soc_corgi = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
Machine Audio Subsystem
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
The machine soc device glues the platform, machine and codec driver together.
|
|
||||||
Private data can also be set here. e.g.
|
|
||||||
|
|
||||||
/* corgi audio private data */
|
|
||||||
static struct wm8731_setup_data corgi_wm8731_setup = {
|
|
||||||
.i2c_address = 0x1b,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* corgi audio subsystem */
|
|
||||||
static struct snd_soc_device corgi_snd_devdata = {
|
|
||||||
.machine = &snd_soc_corgi,
|
|
||||||
.platform = &pxa2xx_soc_platform,
|
|
||||||
.codec_dev = &soc_codec_dev_wm8731,
|
|
||||||
.codec_data = &corgi_wm8731_setup,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
Machine Power Map
|
Machine Power Map
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
@@ -20,9 +20,10 @@ struct snd_soc_ops {
|
|||||||
int (*trigger)(struct snd_pcm_substream *, int);
|
int (*trigger)(struct snd_pcm_substream *, int);
|
||||||
};
|
};
|
||||||
|
|
||||||
The platform driver exports its DMA functionality via struct snd_soc_platform:-
|
The platform driver exports its DMA functionality via struct
|
||||||
|
snd_soc_platform_driver:-
|
||||||
|
|
||||||
struct snd_soc_platform {
|
struct snd_soc_platform_driver {
|
||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
int (*probe)(struct platform_device *pdev);
|
int (*probe)(struct platform_device *pdev);
|
||||||
@@ -34,6 +35,13 @@ struct snd_soc_platform {
|
|||||||
int (*pcm_new)(struct snd_card *, struct snd_soc_codec_dai *, struct snd_pcm *);
|
int (*pcm_new)(struct snd_card *, struct snd_soc_codec_dai *, struct snd_pcm *);
|
||||||
void (*pcm_free)(struct snd_pcm *);
|
void (*pcm_free)(struct snd_pcm *);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For platform caused delay reporting.
|
||||||
|
* Optional.
|
||||||
|
*/
|
||||||
|
snd_pcm_sframes_t (*delay)(struct snd_pcm_substream *,
|
||||||
|
struct snd_soc_dai *);
|
||||||
|
|
||||||
/* platform stream ops */
|
/* platform stream ops */
|
||||||
struct snd_pcm_ops *pcm_ops;
|
struct snd_pcm_ops *pcm_ops;
|
||||||
};
|
};
|
||||||
|
@@ -285,6 +285,9 @@ implement g_volatile_ctrl like this:
|
|||||||
The 'new value' union is not used in g_volatile_ctrl. In general controls
|
The 'new value' union is not used in g_volatile_ctrl. In general controls
|
||||||
that need to implement g_volatile_ctrl are read-only controls.
|
that need to implement g_volatile_ctrl are read-only controls.
|
||||||
|
|
||||||
|
Note that if one or more controls in a control cluster are marked as volatile,
|
||||||
|
then all the controls in the cluster are seen as volatile.
|
||||||
|
|
||||||
To mark a control as volatile you have to set the is_volatile flag:
|
To mark a control as volatile you have to set the is_volatile flag:
|
||||||
|
|
||||||
ctrl = v4l2_ctrl_new_std(&sd->ctrl_handler, ...);
|
ctrl = v4l2_ctrl_new_std(&sd->ctrl_handler, ...);
|
||||||
@@ -462,6 +465,15 @@ pointer to the v4l2_ctrl_ops struct that is used for that cluster.
|
|||||||
Obviously, all controls in the cluster array must be initialized to either
|
Obviously, all controls in the cluster array must be initialized to either
|
||||||
a valid control or to NULL.
|
a valid control or to NULL.
|
||||||
|
|
||||||
|
In rare cases you might want to know which controls of a cluster actually
|
||||||
|
were set explicitly by the user. For this you can check the 'is_new' flag of
|
||||||
|
each control. For example, in the case of a volume/mute cluster the 'is_new'
|
||||||
|
flag of the mute control would be set if the user called VIDIOC_S_CTRL for
|
||||||
|
mute only. If the user would call VIDIOC_S_EXT_CTRLS for both mute and volume
|
||||||
|
controls, then the 'is_new' flag would be 1 for both controls.
|
||||||
|
|
||||||
|
The 'is_new' flag is always 1 when called from v4l2_ctrl_handler_setup().
|
||||||
|
|
||||||
|
|
||||||
VIDIOC_LOG_STATUS Support
|
VIDIOC_LOG_STATUS Support
|
||||||
=========================
|
=========================
|
||||||
|
99
MAINTAINERS
99
MAINTAINERS
@@ -162,7 +162,7 @@ L: linux-serial@vger.kernel.org
|
|||||||
W: http://serial.sourceforge.net
|
W: http://serial.sourceforge.net
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git
|
||||||
F: drivers/serial/8250*
|
F: drivers/tty/serial/8250*
|
||||||
F: include/linux/serial_8250.h
|
F: include/linux/serial_8250.h
|
||||||
|
|
||||||
8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.]
|
8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.]
|
||||||
@@ -624,11 +624,15 @@ M: Lennert Buytenhek <kernel@wantstofly.org>
|
|||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
ARM/ATMEL AT91RM9200 ARM ARCHITECTURE
|
ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES
|
||||||
M: Andrew Victor <linux@maxim.org.za>
|
M: Andrew Victor <linux@maxim.org.za>
|
||||||
|
M: Nicolas Ferre <nicolas.ferre@atmel.com>
|
||||||
|
M: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
W: http://maxim.org.za/at91_26.html
|
W: http://maxim.org.za/at91_26.html
|
||||||
S: Maintained
|
W: http://www.linux4sam.org
|
||||||
|
S: Supported
|
||||||
|
F: arch/arm/mach-at91/
|
||||||
|
|
||||||
ARM/BCMRING ARM ARCHITECTURE
|
ARM/BCMRING ARM ARCHITECTURE
|
||||||
M: Jiandong Zheng <jdzheng@broadcom.com>
|
M: Jiandong Zheng <jdzheng@broadcom.com>
|
||||||
@@ -888,8 +892,8 @@ F: arch/arm/mach-msm/
|
|||||||
F: drivers/video/msm/
|
F: drivers/video/msm/
|
||||||
F: drivers/mmc/host/msm_sdcc.c
|
F: drivers/mmc/host/msm_sdcc.c
|
||||||
F: drivers/mmc/host/msm_sdcc.h
|
F: drivers/mmc/host/msm_sdcc.h
|
||||||
F: drivers/serial/msm_serial.h
|
F: drivers/tty/serial/msm_serial.h
|
||||||
F: drivers/serial/msm_serial.c
|
F: drivers/tty/serial/msm_serial.c
|
||||||
T: git git://codeaurora.org/quic/kernel/davidb/linux-msm.git
|
T: git git://codeaurora.org/quic/kernel/davidb/linux-msm.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
@@ -1256,7 +1260,7 @@ F: drivers/mmc/host/atmel-mci-regs.h
|
|||||||
ATMEL AT91 / AT32 SERIAL DRIVER
|
ATMEL AT91 / AT32 SERIAL DRIVER
|
||||||
M: Nicolas Ferre <nicolas.ferre@atmel.com>
|
M: Nicolas Ferre <nicolas.ferre@atmel.com>
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/serial/atmel_serial.c
|
F: drivers/tty/serial/atmel_serial.c
|
||||||
|
|
||||||
ATMEL LCDFB DRIVER
|
ATMEL LCDFB DRIVER
|
||||||
M: Nicolas Ferre <nicolas.ferre@atmel.com>
|
M: Nicolas Ferre <nicolas.ferre@atmel.com>
|
||||||
@@ -1412,7 +1416,7 @@ M: Sonic Zhang <sonic.zhang@analog.com>
|
|||||||
L: uclinux-dist-devel@blackfin.uclinux.org
|
L: uclinux-dist-devel@blackfin.uclinux.org
|
||||||
W: http://blackfin.uclinux.org
|
W: http://blackfin.uclinux.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/serial/bfin_5xx.c
|
F: drivers/tty/serial/bfin_5xx.c
|
||||||
|
|
||||||
BLACKFIN WATCHDOG DRIVER
|
BLACKFIN WATCHDOG DRIVER
|
||||||
M: Mike Frysinger <vapier.adi@gmail.com>
|
M: Mike Frysinger <vapier.adi@gmail.com>
|
||||||
@@ -1877,7 +1881,7 @@ L: linux-cris-kernel@axis.com
|
|||||||
W: http://developer.axis.com
|
W: http://developer.axis.com
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: arch/cris/
|
F: arch/cris/
|
||||||
F: drivers/serial/crisv10.*
|
F: drivers/tty/serial/crisv10.*
|
||||||
|
|
||||||
CRYPTO API
|
CRYPTO API
|
||||||
M: Herbert Xu <herbert@gondor.apana.org.au>
|
M: Herbert Xu <herbert@gondor.apana.org.au>
|
||||||
@@ -2216,7 +2220,7 @@ F: drivers/net/wan/dscc4.c
|
|||||||
DZ DECSTATION DZ11 SERIAL DRIVER
|
DZ DECSTATION DZ11 SERIAL DRIVER
|
||||||
M: "Maciej W. Rozycki" <macro@linux-mips.org>
|
M: "Maciej W. Rozycki" <macro@linux-mips.org>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/serial/dz.*
|
F: drivers/tty/serial/dz.*
|
||||||
|
|
||||||
EATA-DMA SCSI DRIVER
|
EATA-DMA SCSI DRIVER
|
||||||
M: Michael Neuffer <mike@i-Connect.Net>
|
M: Michael Neuffer <mike@i-Connect.Net>
|
||||||
@@ -2643,7 +2647,7 @@ FREESCALE QUICC ENGINE UCC UART DRIVER
|
|||||||
M: Timur Tabi <timur@freescale.com>
|
M: Timur Tabi <timur@freescale.com>
|
||||||
L: linuxppc-dev@lists.ozlabs.org
|
L: linuxppc-dev@lists.ozlabs.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/serial/ucc_uart.c
|
F: drivers/tty/serial/ucc_uart.c
|
||||||
|
|
||||||
FREESCALE SOC SOUND DRIVERS
|
FREESCALE SOC SOUND DRIVERS
|
||||||
M: Timur Tabi <timur@freescale.com>
|
M: Timur Tabi <timur@freescale.com>
|
||||||
@@ -3135,6 +3139,12 @@ S: Maintained
|
|||||||
F: net/ieee802154/
|
F: net/ieee802154/
|
||||||
F: drivers/ieee802154/
|
F: drivers/ieee802154/
|
||||||
|
|
||||||
|
IKANOS/ADI EAGLE ADSL USB DRIVER
|
||||||
|
M: Matthieu Castet <castet.matthieu@free.fr>
|
||||||
|
M: Stanislaw Gruszka <stf_xl@wp.pl>
|
||||||
|
S: Maintained
|
||||||
|
F: drivers/usb/atm/ueagle-atm.c
|
||||||
|
|
||||||
INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
|
INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
|
||||||
M: Mimi Zohar <zohar@us.ibm.com>
|
M: Mimi Zohar <zohar@us.ibm.com>
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -3146,7 +3156,7 @@ S: Orphan
|
|||||||
F: drivers/video/imsttfb.c
|
F: drivers/video/imsttfb.c
|
||||||
|
|
||||||
INFINIBAND SUBSYSTEM
|
INFINIBAND SUBSYSTEM
|
||||||
M: Roland Dreier <rolandd@cisco.com>
|
M: Roland Dreier <roland@kernel.org>
|
||||||
M: Sean Hefty <sean.hefty@intel.com>
|
M: Sean Hefty <sean.hefty@intel.com>
|
||||||
M: Hal Rosenstock <hal.rosenstock@gmail.com>
|
M: Hal Rosenstock <hal.rosenstock@gmail.com>
|
||||||
L: linux-rdma@vger.kernel.org
|
L: linux-rdma@vger.kernel.org
|
||||||
@@ -3323,7 +3333,6 @@ F: drivers/net/wimax/i2400m/
|
|||||||
F: include/linux/wimax/i2400m.h
|
F: include/linux/wimax/i2400m.h
|
||||||
|
|
||||||
INTEL WIRELESS WIFI LINK (iwlwifi)
|
INTEL WIRELESS WIFI LINK (iwlwifi)
|
||||||
M: Reinette Chatre <reinette.chatre@intel.com>
|
|
||||||
M: Wey-Yi Guy <wey-yi.w.guy@intel.com>
|
M: Wey-Yi Guy <wey-yi.w.guy@intel.com>
|
||||||
M: Intel Linux Wireless <ilw@linux.intel.com>
|
M: Intel Linux Wireless <ilw@linux.intel.com>
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
@@ -3350,7 +3359,7 @@ IOC3 SERIAL DRIVER
|
|||||||
M: Pat Gefre <pfg@sgi.com>
|
M: Pat Gefre <pfg@sgi.com>
|
||||||
L: linux-serial@vger.kernel.org
|
L: linux-serial@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/serial/ioc3_serial.c
|
F: drivers/tty/serial/ioc3_serial.c
|
||||||
|
|
||||||
IP MASQUERADING
|
IP MASQUERADING
|
||||||
M: Juanjo Ciarlante <jjciarla@raiz.uncu.edu.ar>
|
M: Juanjo Ciarlante <jjciarla@raiz.uncu.edu.ar>
|
||||||
@@ -3527,7 +3536,7 @@ JSM Neo PCI based serial card
|
|||||||
M: Breno Leitao <leitao@linux.vnet.ibm.com>
|
M: Breno Leitao <leitao@linux.vnet.ibm.com>
|
||||||
L: linux-serial@vger.kernel.org
|
L: linux-serial@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/serial/jsm/
|
F: drivers/tty/serial/jsm/
|
||||||
|
|
||||||
K10TEMP HARDWARE MONITORING DRIVER
|
K10TEMP HARDWARE MONITORING DRIVER
|
||||||
M: Clemens Ladisch <clemens@ladisch.de>
|
M: Clemens Ladisch <clemens@ladisch.de>
|
||||||
@@ -3670,6 +3679,28 @@ F: include/linux/key-type.h
|
|||||||
F: include/keys/
|
F: include/keys/
|
||||||
F: security/keys/
|
F: security/keys/
|
||||||
|
|
||||||
|
KEYS-TRUSTED
|
||||||
|
M: David Safford <safford@watson.ibm.com>
|
||||||
|
M: Mimi Zohar <zohar@us.ibm.com>
|
||||||
|
L: linux-security-module@vger.kernel.org
|
||||||
|
L: keyrings@linux-nfs.org
|
||||||
|
S: Supported
|
||||||
|
F: Documentation/keys-trusted-encrypted.txt
|
||||||
|
F: include/keys/trusted-type.h
|
||||||
|
F: security/keys/trusted.c
|
||||||
|
F: security/keys/trusted.h
|
||||||
|
|
||||||
|
KEYS-ENCRYPTED
|
||||||
|
M: Mimi Zohar <zohar@us.ibm.com>
|
||||||
|
M: David Safford <safford@watson.ibm.com>
|
||||||
|
L: linux-security-module@vger.kernel.org
|
||||||
|
L: keyrings@linux-nfs.org
|
||||||
|
S: Supported
|
||||||
|
F: Documentation/keys-trusted-encrypted.txt
|
||||||
|
F: include/keys/encrypted-type.h
|
||||||
|
F: security/keys/encrypted.c
|
||||||
|
F: security/keys/encrypted.h
|
||||||
|
|
||||||
KGDB / KDB /debug_core
|
KGDB / KDB /debug_core
|
||||||
M: Jason Wessel <jason.wessel@windriver.com>
|
M: Jason Wessel <jason.wessel@windriver.com>
|
||||||
W: http://kgdb.wiki.kernel.org/
|
W: http://kgdb.wiki.kernel.org/
|
||||||
@@ -3677,7 +3708,7 @@ L: kgdb-bugreport@lists.sourceforge.net
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/DocBook/kgdb.tmpl
|
F: Documentation/DocBook/kgdb.tmpl
|
||||||
F: drivers/misc/kgdbts.c
|
F: drivers/misc/kgdbts.c
|
||||||
F: drivers/serial/kgdboc.c
|
F: drivers/tty/serial/kgdboc.c
|
||||||
F: include/linux/kdb.h
|
F: include/linux/kdb.h
|
||||||
F: include/linux/kgdb.h
|
F: include/linux/kgdb.h
|
||||||
F: kernel/debug/
|
F: kernel/debug/
|
||||||
@@ -5545,7 +5576,7 @@ M: Pat Gefre <pfg@sgi.com>
|
|||||||
L: linux-ia64@vger.kernel.org
|
L: linux-ia64@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/ia64/serial.txt
|
F: Documentation/ia64/serial.txt
|
||||||
F: drivers/serial/ioc?_serial.c
|
F: drivers/tty/serial/ioc?_serial.c
|
||||||
F: include/linux/ioc?.h
|
F: include/linux/ioc?.h
|
||||||
|
|
||||||
SGI VISUAL WORKSTATION 320 AND 540
|
SGI VISUAL WORKSTATION 320 AND 540
|
||||||
@@ -5567,7 +5598,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen
|
F: Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen
|
||||||
F: arch/arm/mach-lh7a40x/
|
F: arch/arm/mach-lh7a40x/
|
||||||
F: drivers/serial/serial_lh7a40x.c
|
F: drivers/tty/serial/serial_lh7a40x.c
|
||||||
F: drivers/usb/gadget/lh7a40*
|
F: drivers/usb/gadget/lh7a40*
|
||||||
F: drivers/usb/host/ohci-lh7a40*
|
F: drivers/usb/host/ohci-lh7a40*
|
||||||
|
|
||||||
@@ -5787,14 +5818,14 @@ L: sparclinux@vger.kernel.org
|
|||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/serial/suncore.c
|
F: drivers/tty/serial/suncore.c
|
||||||
F: drivers/serial/suncore.h
|
F: drivers/tty/serial/suncore.h
|
||||||
F: drivers/serial/sunhv.c
|
F: drivers/tty/serial/sunhv.c
|
||||||
F: drivers/serial/sunsab.c
|
F: drivers/tty/serial/sunsab.c
|
||||||
F: drivers/serial/sunsab.h
|
F: drivers/tty/serial/sunsab.h
|
||||||
F: drivers/serial/sunsu.c
|
F: drivers/tty/serial/sunsu.c
|
||||||
F: drivers/serial/sunzilog.c
|
F: drivers/tty/serial/sunzilog.c
|
||||||
F: drivers/serial/sunzilog.h
|
F: drivers/tty/serial/sunzilog.h
|
||||||
|
|
||||||
SPEAR PLATFORM SUPPORT
|
SPEAR PLATFORM SUPPORT
|
||||||
M: Viresh Kumar <viresh.kumar@st.com>
|
M: Viresh Kumar <viresh.kumar@st.com>
|
||||||
@@ -6124,8 +6155,8 @@ TTY LAYER
|
|||||||
M: Greg Kroah-Hartman <gregkh@suse.de>
|
M: Greg Kroah-Hartman <gregkh@suse.de>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6.git
|
||||||
F: drivers/char/tty_*
|
F: drivers/tty/*
|
||||||
F: drivers/serial/serial_core.c
|
F: drivers/tty/serial/serial_core.c
|
||||||
F: include/linux/serial_core.h
|
F: include/linux/serial_core.h
|
||||||
F: include/linux/serial.h
|
F: include/linux/serial.h
|
||||||
F: include/linux/tty.h
|
F: include/linux/tty.h
|
||||||
@@ -6569,6 +6600,16 @@ S: Maintained
|
|||||||
F: drivers/char/virtio_console.c
|
F: drivers/char/virtio_console.c
|
||||||
F: include/linux/virtio_console.h
|
F: include/linux/virtio_console.h
|
||||||
|
|
||||||
|
VIRTIO CORE, NET AND BLOCK DRIVERS
|
||||||
|
M: Rusty Russell <rusty@rustcorp.com.au>
|
||||||
|
M: "Michael S. Tsirkin" <mst@redhat.com>
|
||||||
|
L: virtualization@lists.linux-foundation.org
|
||||||
|
S: Maintained
|
||||||
|
F: drivers/virtio/
|
||||||
|
F: drivers/net/virtio_net.c
|
||||||
|
F: drivers/block/virtio_blk.c
|
||||||
|
F: include/linux/virtio_*.h
|
||||||
|
|
||||||
VIRTIO HOST (VHOST)
|
VIRTIO HOST (VHOST)
|
||||||
M: "Michael S. Tsirkin" <mst@redhat.com>
|
M: "Michael S. Tsirkin" <mst@redhat.com>
|
||||||
L: kvm@vger.kernel.org
|
L: kvm@vger.kernel.org
|
||||||
@@ -6870,7 +6911,7 @@ XILINX UARTLITE SERIAL DRIVER
|
|||||||
M: Peter Korsgaard <jacmet@sunsite.dk>
|
M: Peter Korsgaard <jacmet@sunsite.dk>
|
||||||
L: linux-serial@vger.kernel.org
|
L: linux-serial@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/serial/uartlite.c
|
F: drivers/tty/serial/uartlite.c
|
||||||
|
|
||||||
YAM DRIVER FOR AX.25
|
YAM DRIVER FOR AX.25
|
||||||
M: Jean-Paul Roubelat <jpr@f6fbb.org>
|
M: Jean-Paul Roubelat <jpr@f6fbb.org>
|
||||||
@@ -6916,7 +6957,7 @@ F: drivers/media/video/zoran/
|
|||||||
ZS DECSTATION Z85C30 SERIAL DRIVER
|
ZS DECSTATION Z85C30 SERIAL DRIVER
|
||||||
M: "Maciej W. Rozycki" <macro@linux-mips.org>
|
M: "Maciej W. Rozycki" <macro@linux-mips.org>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/serial/zs.*
|
F: drivers/tty/serial/zs.*
|
||||||
|
|
||||||
GRE DEMULTIPLEXER DRIVER
|
GRE DEMULTIPLEXER DRIVER
|
||||||
M: Dmitry Kozlov <xeb@mail.ru>
|
M: Dmitry Kozlov <xeb@mail.ru>
|
||||||
|
2
Makefile
2
Makefile
@@ -1,7 +1,7 @@
|
|||||||
VERSION = 2
|
VERSION = 2
|
||||||
PATCHLEVEL = 6
|
PATCHLEVEL = 6
|
||||||
SUBLEVEL = 38
|
SUBLEVEL = 38
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc3
|
||||||
NAME = Flesh-Eating Bats with Fangs
|
NAME = Flesh-Eating Bats with Fangs
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
|
@@ -8,6 +8,9 @@ config ALPHA
|
|||||||
select HAVE_IRQ_WORK
|
select HAVE_IRQ_WORK
|
||||||
select HAVE_PERF_EVENTS
|
select HAVE_PERF_EVENTS
|
||||||
select HAVE_DMA_ATTRS
|
select HAVE_DMA_ATTRS
|
||||||
|
select HAVE_GENERIC_HARDIRQS
|
||||||
|
select GENERIC_IRQ_PROBE
|
||||||
|
select AUTO_IRQ_AFFINITY if SMP
|
||||||
help
|
help
|
||||||
The Alpha is a 64-bit general-purpose processor designed and
|
The Alpha is a 64-bit general-purpose processor designed and
|
||||||
marketed by the Digital Equipment Corporation of blessed memory,
|
marketed by the Digital Equipment Corporation of blessed memory,
|
||||||
@@ -68,22 +71,6 @@ config GENERIC_IOMAP
|
|||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config GENERIC_HARDIRQS_NO__DO_IRQ
|
|
||||||
def_bool y
|
|
||||||
|
|
||||||
config GENERIC_HARDIRQS
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config GENERIC_IRQ_PROBE
|
|
||||||
bool
|
|
||||||
default y
|
|
||||||
|
|
||||||
config AUTO_IRQ_AFFINITY
|
|
||||||
bool
|
|
||||||
depends on SMP
|
|
||||||
default y
|
|
||||||
|
|
||||||
source "init/Kconfig"
|
source "init/Kconfig"
|
||||||
source "kernel/Kconfig.freezer"
|
source "kernel/Kconfig.freezer"
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ CONFIG_NAMESPACES=y
|
|||||||
# CONFIG_PID_NS is not set
|
# CONFIG_PID_NS is not set
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_INITRAMFS_SOURCE=""
|
CONFIG_INITRAMFS_SOURCE=""
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_LOCALVERSION="gum"
|
|||||||
# CONFIG_SWAP is not set
|
# CONFIG_SWAP is not set
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_SYSCTL_SYSCALL is not set
|
# CONFIG_SYSCTL_SYSCALL is not set
|
||||||
# CONFIG_EPOLL is not set
|
# CONFIG_EPOLL is not set
|
||||||
# CONFIG_SHMEM is not set
|
# CONFIG_SHMEM is not set
|
||||||
|
@@ -17,7 +17,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y
|
|||||||
CONFIG_RELAY=y
|
CONFIG_RELAY=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_PROFILING=y
|
CONFIG_PROFILING=y
|
||||||
CONFIG_OPROFILE=m
|
CONFIG_OPROFILE=m
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
CONFIG_EXPERIMENTAL=y
|
CONFIG_EXPERIMENTAL=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODVERSIONS=y
|
CONFIG_MODVERSIONS=y
|
||||||
CONFIG_ARCH_SA1100=y
|
CONFIG_ARCH_SA1100=y
|
||||||
|
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
# CONFIG_LOCALVERSION_AUTO is not set
|
# CONFIG_LOCALVERSION_AUTO is not set
|
||||||
# CONFIG_SWAP is not set
|
# CONFIG_SWAP is not set
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
# CONFIG_ELF_CORE is not set
|
# CONFIG_ELF_CORE is not set
|
||||||
|
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
|
@@ -8,7 +8,7 @@ CONFIG_IKCONFIG_PROC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_BASE_FULL is not set
|
# CONFIG_BASE_FULL is not set
|
||||||
# CONFIG_EPOLL is not set
|
# CONFIG_EPOLL is not set
|
||||||
CONFIG_SLOB=y
|
CONFIG_SLOB=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_PROFILING=y
|
CONFIG_PROFILING=y
|
||||||
CONFIG_OPROFILE=m
|
CONFIG_OPROFILE=m
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
|
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
CONFIG_EXPERIMENTAL=y
|
CONFIG_EXPERIMENTAL=y
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_ARCH_EBSA110=y
|
CONFIG_ARCH_EBSA110=y
|
||||||
CONFIG_PCCARD=m
|
CONFIG_PCCARD=m
|
||||||
|
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
CONFIG_ARCH_CLPS711X=y
|
CONFIG_ARCH_CLPS711X=y
|
||||||
CONFIG_ARCH_EDB7211=y
|
CONFIG_ARCH_EDB7211=y
|
||||||
|
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG_PROC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_KALLSYMS is not set
|
# CONFIG_KALLSYMS is not set
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
|
@@ -7,7 +7,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y
|
|||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_RD_BZIP2=y
|
CONFIG_RD_BZIP2=y
|
||||||
CONFIG_RD_LZMA=y
|
CONFIG_RD_LZMA=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y
|
|||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_ARCH_FOOTBRIDGE=y
|
CONFIG_ARCH_FOOTBRIDGE=y
|
||||||
|
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
CONFIG_ARCH_CLPS711X=y
|
CONFIG_ARCH_CLPS711X=y
|
||||||
CONFIG_ARCH_FORTUNET=y
|
CONFIG_ARCH_FORTUNET=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_UID16 is not set
|
# CONFIG_UID16 is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -6,7 +6,7 @@ CONFIG_SYSFS_DEPRECATED_V2=y
|
|||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_RD_BZIP2=y
|
CONFIG_RD_BZIP2=y
|
||||||
CONFIG_RD_LZMA=y
|
CONFIG_RD_LZMA=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y
|
|||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y
|
|||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_SYSVIPC=y
|
|||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODVERSIONS=y
|
CONFIG_MODVERSIONS=y
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
CONFIG_EXPERIMENTAL=y
|
CONFIG_EXPERIMENTAL=y
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_IKCONFIG=y
|
CONFIG_IKCONFIG=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
# CONFIG_EPOLL is not set
|
# CONFIG_EPOLL is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_IKCONFIG=y
|
CONFIG_IKCONFIG=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
# CONFIG_EPOLL is not set
|
# CONFIG_EPOLL is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_UID16 is not set
|
# CONFIG_UID16 is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_ALL=y
|
CONFIG_KALLSYMS_ALL=y
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
CONFIG_PROFILING=y
|
CONFIG_PROFILING=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y
|
|||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=18
|
CONFIG_LOG_BUF_SHIFT=18
|
||||||
CONFIG_RELAY=y
|
CONFIG_RELAY=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -7,7 +7,7 @@ CONFIG_IKCONFIG_PROC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_ALL=y
|
CONFIG_KALLSYMS_ALL=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -6,7 +6,7 @@ CONFIG_BSD_PROCESS_ACCT=y
|
|||||||
CONFIG_IKCONFIG=y
|
CONFIG_IKCONFIG=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_KALLSYMS is not set
|
# CONFIG_KALLSYMS is not set
|
||||||
# CONFIG_ELF_CORE is not set
|
# CONFIG_ELF_CORE is not set
|
||||||
# CONFIG_BASE_FULL is not set
|
# CONFIG_BASE_FULL is not set
|
||||||
|
@@ -6,7 +6,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_SYSCTL_SYSCALL is not set
|
# CONFIG_SYSCTL_SYSCALL is not set
|
||||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
|
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
CONFIG_PROFILING=y
|
CONFIG_PROFILING=y
|
||||||
CONFIG_OPROFILE=y
|
CONFIG_OPROFILE=y
|
||||||
|
@@ -7,7 +7,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_KALLSYMS is not set
|
# CONFIG_KALLSYMS is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -10,7 +10,7 @@ CONFIG_IKCONFIG_PROC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_NAMESPACES=y
|
CONFIG_NAMESPACES=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_SYSCTL_SYSCALL is not set
|
# CONFIG_SYSCTL_SYSCALL is not set
|
||||||
# CONFIG_KALLSYMS is not set
|
# CONFIG_KALLSYMS is not set
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_HOTPLUG is not set
|
# CONFIG_HOTPLUG is not set
|
||||||
# CONFIG_SHMEM is not set
|
# CONFIG_SHMEM is not set
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -5,7 +5,7 @@ CONFIG_BSD_PROCESS_ACCT=y
|
|||||||
CONFIG_AUDIT=y
|
CONFIG_AUDIT=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -2,7 +2,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_LOCALVERSION="oe1"
|
CONFIG_LOCALVERSION="oe1"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_ALL=y
|
CONFIG_KALLSYMS_ALL=y
|
||||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -4,7 +4,7 @@ CONFIG_BSD_PROCESS_ACCT=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_PROFILING=y
|
CONFIG_PROFILING=y
|
||||||
CONFIG_OPROFILE=m
|
CONFIG_OPROFILE=m
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y
|
|||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -5,7 +5,7 @@ CONFIG_POSIX_MQUEUE=y
|
|||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
@@ -5,7 +5,7 @@ CONFIG_SYSVIPC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_KALLSYMS is not set
|
# CONFIG_KALLSYMS is not set
|
||||||
# CONFIG_BUG is not set
|
# CONFIG_BUG is not set
|
||||||
# CONFIG_ELF_CORE is not set
|
# CONFIG_ELF_CORE is not set
|
||||||
|
@@ -7,7 +7,7 @@ CONFIG_IKCONFIG=y
|
|||||||
CONFIG_IKCONFIG_PROC=y
|
CONFIG_IKCONFIG_PROC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
# CONFIG_SWAP is not set
|
# CONFIG_SWAP is not set
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_AIO is not set
|
# CONFIG_AIO is not set
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
|
@@ -3,7 +3,7 @@ CONFIG_EXPERIMENTAL=y
|
|||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_LOG_BUF_SHIFT=13
|
CONFIG_LOG_BUF_SHIFT=13
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_ELF_CORE is not set
|
# CONFIG_ELF_CORE is not set
|
||||||
# CONFIG_SHMEM is not set
|
# CONFIG_SHMEM is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
|
@@ -8,7 +8,7 @@ CONFIG_IKCONFIG_PROC=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EXPERT=y
|
||||||
# CONFIG_UID16 is not set
|
# CONFIG_UID16 is not set
|
||||||
# CONFIG_SHMEM is not set
|
# CONFIG_SHMEM is not set
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
|
@@ -50,6 +50,12 @@
|
|||||||
#define SCPCELLID2 0xFF8
|
#define SCPCELLID2 0xFF8
|
||||||
#define SCPCELLID3 0xFFC
|
#define SCPCELLID3 0xFFC
|
||||||
|
|
||||||
|
#define SCCTRL_TIMEREN0SEL_REFCLK (0 << 15)
|
||||||
|
#define SCCTRL_TIMEREN0SEL_TIMCLK (1 << 15)
|
||||||
|
|
||||||
|
#define SCCTRL_TIMEREN1SEL_REFCLK (0 << 17)
|
||||||
|
#define SCCTRL_TIMEREN1SEL_TIMCLK (1 << 17)
|
||||||
|
|
||||||
static inline void sysctl_soft_reset(void __iomem *base)
|
static inline void sysctl_soft_reset(void __iomem *base)
|
||||||
{
|
{
|
||||||
/* writing any value to SCSYSSTAT reg will reset system */
|
/* writing any value to SCSYSSTAT reg will reset system */
|
||||||
|
@@ -95,6 +95,15 @@ static inline void __iomem *__typesafe_io(unsigned long addr)
|
|||||||
return (void __iomem *)addr;
|
return (void __iomem *)addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* IO barriers */
|
||||||
|
#ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE
|
||||||
|
#define __iormb() rmb()
|
||||||
|
#define __iowmb() wmb()
|
||||||
|
#else
|
||||||
|
#define __iormb() do { } while (0)
|
||||||
|
#define __iowmb() do { } while (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now, pick up the machine-defined IO definitions
|
* Now, pick up the machine-defined IO definitions
|
||||||
*/
|
*/
|
||||||
@@ -125,17 +134,17 @@ static inline void __iomem *__typesafe_io(unsigned long addr)
|
|||||||
* The {in,out}[bwl] macros are for emulating x86-style PCI/ISA IO space.
|
* The {in,out}[bwl] macros are for emulating x86-style PCI/ISA IO space.
|
||||||
*/
|
*/
|
||||||
#ifdef __io
|
#ifdef __io
|
||||||
#define outb(v,p) __raw_writeb(v,__io(p))
|
#define outb(v,p) ({ __iowmb(); __raw_writeb(v,__io(p)); })
|
||||||
#define outw(v,p) __raw_writew((__force __u16) \
|
#define outw(v,p) ({ __iowmb(); __raw_writew((__force __u16) \
|
||||||
cpu_to_le16(v),__io(p))
|
cpu_to_le16(v),__io(p)); })
|
||||||
#define outl(v,p) __raw_writel((__force __u32) \
|
#define outl(v,p) ({ __iowmb(); __raw_writel((__force __u32) \
|
||||||
cpu_to_le32(v),__io(p))
|
cpu_to_le32(v),__io(p)); })
|
||||||
|
|
||||||
#define inb(p) ({ __u8 __v = __raw_readb(__io(p)); __v; })
|
#define inb(p) ({ __u8 __v = __raw_readb(__io(p)); __iormb(); __v; })
|
||||||
#define inw(p) ({ __u16 __v = le16_to_cpu((__force __le16) \
|
#define inw(p) ({ __u16 __v = le16_to_cpu((__force __le16) \
|
||||||
__raw_readw(__io(p))); __v; })
|
__raw_readw(__io(p))); __iormb(); __v; })
|
||||||
#define inl(p) ({ __u32 __v = le32_to_cpu((__force __le32) \
|
#define inl(p) ({ __u32 __v = le32_to_cpu((__force __le32) \
|
||||||
__raw_readl(__io(p))); __v; })
|
__raw_readl(__io(p))); __iormb(); __v; })
|
||||||
|
|
||||||
#define outsb(p,d,l) __raw_writesb(__io(p),d,l)
|
#define outsb(p,d,l) __raw_writesb(__io(p),d,l)
|
||||||
#define outsw(p,d,l) __raw_writesw(__io(p),d,l)
|
#define outsw(p,d,l) __raw_writesw(__io(p),d,l)
|
||||||
@@ -192,14 +201,6 @@ extern void _memset_io(volatile void __iomem *, int, size_t);
|
|||||||
#define writel_relaxed(v,c) ((void)__raw_writel((__force u32) \
|
#define writel_relaxed(v,c) ((void)__raw_writel((__force u32) \
|
||||||
cpu_to_le32(v),__mem_pci(c)))
|
cpu_to_le32(v),__mem_pci(c)))
|
||||||
|
|
||||||
#ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE
|
|
||||||
#define __iormb() rmb()
|
|
||||||
#define __iowmb() wmb()
|
|
||||||
#else
|
|
||||||
#define __iormb() do { } while (0)
|
|
||||||
#define __iowmb() do { } while (0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; })
|
#define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; })
|
||||||
#define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; })
|
#define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; })
|
||||||
#define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; })
|
#define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; })
|
||||||
|
@@ -188,7 +188,7 @@
|
|||||||
* translation for translating DMA addresses. Use the driver
|
* translation for translating DMA addresses. Use the driver
|
||||||
* DMA support - see dma-mapping.h.
|
* DMA support - see dma-mapping.h.
|
||||||
*/
|
*/
|
||||||
static inline unsigned long virt_to_phys(void *x)
|
static inline unsigned long virt_to_phys(const volatile void *x)
|
||||||
{
|
{
|
||||||
return __virt_to_phys((unsigned long)(x));
|
return __virt_to_phys((unsigned long)(x));
|
||||||
}
|
}
|
||||||
|
@@ -392,24 +392,22 @@ ENDPROC(__turn_mmu_on)
|
|||||||
|
|
||||||
#ifdef CONFIG_SMP_ON_UP
|
#ifdef CONFIG_SMP_ON_UP
|
||||||
__fixup_smp:
|
__fixup_smp:
|
||||||
mov r4, #0x00070000
|
and r3, r9, #0x000f0000 @ architecture version
|
||||||
orr r3, r4, #0xff000000 @ mask 0xff070000
|
teq r3, #0x000f0000 @ CPU ID supported?
|
||||||
orr r4, r4, #0x41000000 @ val 0x41070000
|
|
||||||
and r0, r9, r3
|
|
||||||
teq r0, r4 @ ARM CPU and ARMv6/v7?
|
|
||||||
bne __fixup_smp_on_up @ no, assume UP
|
bne __fixup_smp_on_up @ no, assume UP
|
||||||
|
|
||||||
orr r3, r3, #0x0000ff00
|
bic r3, r9, #0x00ff0000
|
||||||
orr r3, r3, #0x000000f0 @ mask 0xff07fff0
|
bic r3, r3, #0x0000000f @ mask 0xff00fff0
|
||||||
|
mov r4, #0x41000000
|
||||||
orr r4, r4, #0x0000b000
|
orr r4, r4, #0x0000b000
|
||||||
orr r4, r4, #0x00000020 @ val 0x4107b020
|
orr r4, r4, #0x00000020 @ val 0x4100b020
|
||||||
and r0, r9, r3
|
teq r3, r4 @ ARM 11MPCore?
|
||||||
teq r0, r4 @ ARM 11MPCore?
|
|
||||||
moveq pc, lr @ yes, assume SMP
|
moveq pc, lr @ yes, assume SMP
|
||||||
|
|
||||||
mrc p15, 0, r0, c0, c0, 5 @ read MPIDR
|
mrc p15, 0, r0, c0, c0, 5 @ read MPIDR
|
||||||
tst r0, #1 << 31
|
and r0, r0, #0xc0000000 @ multiprocessing extensions and
|
||||||
movne pc, lr @ bit 31 => SMP
|
teq r0, #0x80000000 @ not part of a uniprocessor system?
|
||||||
|
moveq pc, lr @ yes, assume SMP
|
||||||
|
|
||||||
__fixup_smp_on_up:
|
__fixup_smp_on_up:
|
||||||
adr r0, 1f
|
adr r0, 1f
|
||||||
|
@@ -36,6 +36,7 @@ static void twd_set_mode(enum clock_event_mode mode,
|
|||||||
/* timer load already set up */
|
/* timer load already set up */
|
||||||
ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE
|
ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE
|
||||||
| TWD_TIMER_CONTROL_PERIODIC;
|
| TWD_TIMER_CONTROL_PERIODIC;
|
||||||
|
__raw_writel(twd_timer_rate / HZ, twd_base + TWD_TIMER_LOAD);
|
||||||
break;
|
break;
|
||||||
case CLOCK_EVT_MODE_ONESHOT:
|
case CLOCK_EVT_MODE_ONESHOT:
|
||||||
/* period set, and timer enabled in 'next_event' hook */
|
/* period set, and timer enabled in 'next_event' hook */
|
||||||
@@ -81,7 +82,7 @@ int twd_timer_ack(void)
|
|||||||
|
|
||||||
static void __cpuinit twd_calibrate_rate(void)
|
static void __cpuinit twd_calibrate_rate(void)
|
||||||
{
|
{
|
||||||
unsigned long load, count;
|
unsigned long count;
|
||||||
u64 waitjiffies;
|
u64 waitjiffies;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -116,10 +117,6 @@ static void __cpuinit twd_calibrate_rate(void)
|
|||||||
printk("%lu.%02luMHz.\n", twd_timer_rate / 1000000,
|
printk("%lu.%02luMHz.\n", twd_timer_rate / 1000000,
|
||||||
(twd_timer_rate / 1000000) % 100);
|
(twd_timer_rate / 1000000) % 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
load = twd_timer_rate / HZ;
|
|
||||||
|
|
||||||
__raw_writel(load, twd_base + TWD_TIMER_LOAD);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -427,6 +427,13 @@ void __init ep93xx_gpio_init(void)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
/* Set Ports C, D, E, G, and H for GPIO use */
|
||||||
|
ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_KEYS |
|
||||||
|
EP93XX_SYSCON_DEVCFG_GONK |
|
||||||
|
EP93XX_SYSCON_DEVCFG_EONIDE |
|
||||||
|
EP93XX_SYSCON_DEVCFG_GONIDE |
|
||||||
|
EP93XX_SYSCON_DEVCFG_HONIDE);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++)
|
for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++)
|
||||||
gpiochip_add(&ep93xx_gpio_banks[i].chip);
|
gpiochip_add(&ep93xx_gpio_banks[i].chip);
|
||||||
}
|
}
|
||||||
|
@@ -17,8 +17,8 @@
|
|||||||
/* For NetWinder debugging */
|
/* For NetWinder debugging */
|
||||||
.macro addruart, rp, rv
|
.macro addruart, rp, rv
|
||||||
mov \rp, #0x000003f8
|
mov \rp, #0x000003f8
|
||||||
orr \rv, \rp, #0x7c000000 @ physical
|
orr \rv, \rp, #0xff000000 @ virtual
|
||||||
orr \rp, \rp, #0xff000000 @ virtual
|
orr \rp, \rp, #0x7c000000 @ physical
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
#define UART_SHIFT 0
|
#define UART_SHIFT 0
|
||||||
|
@@ -43,7 +43,7 @@ static const unsigned qsd8x50_surf_smc91x_gpio __initdata = 156;
|
|||||||
* at run-time: they vary from board to board, and the true
|
* at run-time: they vary from board to board, and the true
|
||||||
* configuration won't be known until boot.
|
* configuration won't be known until boot.
|
||||||
*/
|
*/
|
||||||
static struct resource smc91x_resources[] __initdata = {
|
static struct resource smc91x_resources[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
.flags = IORESOURCE_MEM,
|
.flags = IORESOURCE_MEM,
|
||||||
},
|
},
|
||||||
@@ -52,7 +52,7 @@ static struct resource smc91x_resources[] __initdata = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_device smc91x_device __initdata = {
|
static struct platform_device smc91x_device = {
|
||||||
.name = "smc91x",
|
.name = "smc91x",
|
||||||
.id = 0,
|
.id = 0,
|
||||||
.num_resources = ARRAY_SIZE(smc91x_resources),
|
.num_resources = ARRAY_SIZE(smc91x_resources),
|
||||||
|
@@ -9,6 +9,7 @@ config ARCH_OMAP730
|
|||||||
depends on ARCH_OMAP1
|
depends on ARCH_OMAP1
|
||||||
bool "OMAP730 Based System"
|
bool "OMAP730 Based System"
|
||||||
select CPU_ARM926T
|
select CPU_ARM926T
|
||||||
|
select OMAP_MPU_TIMER
|
||||||
select ARCH_OMAP_OTG
|
select ARCH_OMAP_OTG
|
||||||
|
|
||||||
config ARCH_OMAP850
|
config ARCH_OMAP850
|
||||||
@@ -22,6 +23,7 @@ config ARCH_OMAP15XX
|
|||||||
default y
|
default y
|
||||||
bool "OMAP15xx Based System"
|
bool "OMAP15xx Based System"
|
||||||
select CPU_ARM925T
|
select CPU_ARM925T
|
||||||
|
select OMAP_MPU_TIMER
|
||||||
|
|
||||||
config ARCH_OMAP16XX
|
config ARCH_OMAP16XX
|
||||||
depends on ARCH_OMAP1
|
depends on ARCH_OMAP1
|
||||||
|
@@ -3,12 +3,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Common support
|
# Common support
|
||||||
obj-y := io.o id.o sram.o irq.o mux.o flash.o serial.o devices.o dma.o
|
obj-y := io.o id.o sram.o time.o irq.o mux.o flash.o serial.o devices.o dma.o
|
||||||
obj-y += clock.o clock_data.o opp_data.o
|
obj-y += clock.o clock_data.o opp_data.o
|
||||||
|
|
||||||
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
|
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
|
||||||
|
|
||||||
obj-$(CONFIG_OMAP_MPU_TIMER) += time.o
|
|
||||||
obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o
|
obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o
|
||||||
|
|
||||||
# Power Management
|
# Power Management
|
||||||
|
@@ -14,19 +14,6 @@
|
|||||||
#include <mach/irqs.h>
|
#include <mach/irqs.h>
|
||||||
#include <asm/hardware/gic.h>
|
#include <asm/hardware/gic.h>
|
||||||
|
|
||||||
/*
|
|
||||||
* We use __glue to avoid errors with multiple definitions of
|
|
||||||
* .globl omap_irq_flags as it's included from entry-armv.S but not
|
|
||||||
* from entry-common.S.
|
|
||||||
*/
|
|
||||||
#ifdef __glue
|
|
||||||
.pushsection .data
|
|
||||||
.globl omap_irq_flags
|
|
||||||
omap_irq_flags:
|
|
||||||
.word 0
|
|
||||||
.popsection
|
|
||||||
#endif
|
|
||||||
|
|
||||||
.macro disable_fiq
|
.macro disable_fiq
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
@@ -57,6 +57,7 @@ struct omap_irq_bank {
|
|||||||
unsigned long wake_enable;
|
unsigned long wake_enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
u32 omap_irq_flags;
|
||||||
static unsigned int irq_bank_count;
|
static unsigned int irq_bank_count;
|
||||||
static struct omap_irq_bank *irq_banks;
|
static struct omap_irq_bank *irq_banks;
|
||||||
|
|
||||||
@@ -176,7 +177,6 @@ static struct irq_chip omap_irq_chip = {
|
|||||||
|
|
||||||
void __init omap_init_irq(void)
|
void __init omap_init_irq(void)
|
||||||
{
|
{
|
||||||
extern unsigned int omap_irq_flags;
|
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
|
#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
|
||||||
|
@@ -44,16 +44,21 @@
|
|||||||
#include <linux/clocksource.h>
|
#include <linux/clocksource.h>
|
||||||
#include <linux/clockchips.h>
|
#include <linux/clockchips.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
#include <linux/sched.h>
|
||||||
|
|
||||||
#include <asm/system.h>
|
#include <asm/system.h>
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
#include <asm/leds.h>
|
#include <asm/leds.h>
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
|
#include <asm/sched_clock.h>
|
||||||
|
|
||||||
#include <asm/mach/irq.h>
|
#include <asm/mach/irq.h>
|
||||||
#include <asm/mach/time.h>
|
#include <asm/mach/time.h>
|
||||||
|
|
||||||
#include <plat/common.h>
|
#include <plat/common.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_OMAP_MPU_TIMER
|
||||||
|
|
||||||
#define OMAP_MPU_TIMER_BASE OMAP_MPU_TIMER1_BASE
|
#define OMAP_MPU_TIMER_BASE OMAP_MPU_TIMER1_BASE
|
||||||
#define OMAP_MPU_TIMER_OFFSET 0x100
|
#define OMAP_MPU_TIMER_OFFSET 0x100
|
||||||
|
|
||||||
@@ -67,7 +72,7 @@ typedef struct {
|
|||||||
((volatile omap_mpu_timer_regs_t*)OMAP1_IO_ADDRESS(OMAP_MPU_TIMER_BASE + \
|
((volatile omap_mpu_timer_regs_t*)OMAP1_IO_ADDRESS(OMAP_MPU_TIMER_BASE + \
|
||||||
(n)*OMAP_MPU_TIMER_OFFSET))
|
(n)*OMAP_MPU_TIMER_OFFSET))
|
||||||
|
|
||||||
static inline unsigned long omap_mpu_timer_read(int nr)
|
static inline unsigned long notrace omap_mpu_timer_read(int nr)
|
||||||
{
|
{
|
||||||
volatile omap_mpu_timer_regs_t* timer = omap_mpu_timer_base(nr);
|
volatile omap_mpu_timer_regs_t* timer = omap_mpu_timer_base(nr);
|
||||||
return timer->read_tim;
|
return timer->read_tim;
|
||||||
@@ -212,6 +217,32 @@ static struct clocksource clocksource_mpu = {
|
|||||||
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static DEFINE_CLOCK_DATA(cd);
|
||||||
|
|
||||||
|
static inline unsigned long long notrace _omap_mpu_sched_clock(void)
|
||||||
|
{
|
||||||
|
u32 cyc = mpu_read(&clocksource_mpu);
|
||||||
|
return cyc_to_sched_clock(&cd, cyc, (u32)~0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef CONFIG_OMAP_32K_TIMER
|
||||||
|
unsigned long long notrace sched_clock(void)
|
||||||
|
{
|
||||||
|
return _omap_mpu_sched_clock();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static unsigned long long notrace omap_mpu_sched_clock(void)
|
||||||
|
{
|
||||||
|
return _omap_mpu_sched_clock();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void notrace mpu_update_sched_clock(void)
|
||||||
|
{
|
||||||
|
u32 cyc = mpu_read(&clocksource_mpu);
|
||||||
|
update_sched_clock(&cd, cyc, (u32)~0);
|
||||||
|
}
|
||||||
|
|
||||||
static void __init omap_init_clocksource(unsigned long rate)
|
static void __init omap_init_clocksource(unsigned long rate)
|
||||||
{
|
{
|
||||||
static char err[] __initdata = KERN_ERR
|
static char err[] __initdata = KERN_ERR
|
||||||
@@ -219,17 +250,13 @@ static void __init omap_init_clocksource(unsigned long rate)
|
|||||||
|
|
||||||
setup_irq(INT_TIMER2, &omap_mpu_timer2_irq);
|
setup_irq(INT_TIMER2, &omap_mpu_timer2_irq);
|
||||||
omap_mpu_timer_start(1, ~0, 1);
|
omap_mpu_timer_start(1, ~0, 1);
|
||||||
|
init_sched_clock(&cd, mpu_update_sched_clock, 32, rate);
|
||||||
|
|
||||||
if (clocksource_register_hz(&clocksource_mpu, rate))
|
if (clocksource_register_hz(&clocksource_mpu, rate))
|
||||||
printk(err, clocksource_mpu.name);
|
printk(err, clocksource_mpu.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
static void __init omap_mpu_timer_init(void)
|
||||||
* ---------------------------------------------------------------------------
|
|
||||||
* Timer initialization
|
|
||||||
* ---------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
static void __init omap_timer_init(void)
|
|
||||||
{
|
{
|
||||||
struct clk *ck_ref = clk_get(NULL, "ck_ref");
|
struct clk *ck_ref = clk_get(NULL, "ck_ref");
|
||||||
unsigned long rate;
|
unsigned long rate;
|
||||||
@@ -246,6 +273,66 @@ static void __init omap_timer_init(void)
|
|||||||
omap_init_clocksource(rate);
|
omap_init_clocksource(rate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
static inline void omap_mpu_timer_init(void)
|
||||||
|
{
|
||||||
|
pr_err("Bogus timer, should not happen\n");
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_OMAP_MPU_TIMER */
|
||||||
|
|
||||||
|
#if defined(CONFIG_OMAP_MPU_TIMER) && defined(CONFIG_OMAP_32K_TIMER)
|
||||||
|
static unsigned long long (*preferred_sched_clock)(void);
|
||||||
|
|
||||||
|
unsigned long long notrace sched_clock(void)
|
||||||
|
{
|
||||||
|
if (!preferred_sched_clock)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return preferred_sched_clock();
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void preferred_sched_clock_init(bool use_32k_sched_clock)
|
||||||
|
{
|
||||||
|
if (use_32k_sched_clock)
|
||||||
|
preferred_sched_clock = omap_32k_sched_clock;
|
||||||
|
else
|
||||||
|
preferred_sched_clock = omap_mpu_sched_clock;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static inline void preferred_sched_clock_init(bool use_32k_sched_clcok)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static inline int omap_32k_timer_usable(void)
|
||||||
|
{
|
||||||
|
int res = false;
|
||||||
|
|
||||||
|
if (cpu_is_omap730() || cpu_is_omap15xx())
|
||||||
|
return res;
|
||||||
|
|
||||||
|
#ifdef CONFIG_OMAP_32K_TIMER
|
||||||
|
res = omap_32k_timer_init();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ---------------------------------------------------------------------------
|
||||||
|
* Timer initialization
|
||||||
|
* ---------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
static void __init omap_timer_init(void)
|
||||||
|
{
|
||||||
|
if (omap_32k_timer_usable()) {
|
||||||
|
preferred_sched_clock_init(1);
|
||||||
|
} else {
|
||||||
|
omap_mpu_timer_init();
|
||||||
|
preferred_sched_clock_init(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct sys_timer omap_timer = {
|
struct sys_timer omap_timer = {
|
||||||
.init = omap_timer_init,
|
.init = omap_timer_init,
|
||||||
};
|
};
|
||||||
|
@@ -52,10 +52,9 @@
|
|||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
#include <asm/mach/irq.h>
|
#include <asm/mach/irq.h>
|
||||||
#include <asm/mach/time.h>
|
#include <asm/mach/time.h>
|
||||||
|
#include <plat/common.h>
|
||||||
#include <plat/dmtimer.h>
|
#include <plat/dmtimer.h>
|
||||||
|
|
||||||
struct sys_timer omap_timer;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ---------------------------------------------------------------------------
|
* ---------------------------------------------------------------------------
|
||||||
* 32KHz OS timer
|
* 32KHz OS timer
|
||||||
@@ -181,14 +180,14 @@ static __init void omap_init_32k_timer(void)
|
|||||||
* Timer initialization
|
* Timer initialization
|
||||||
* ---------------------------------------------------------------------------
|
* ---------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
static void __init omap_timer_init(void)
|
bool __init omap_32k_timer_init(void)
|
||||||
{
|
{
|
||||||
|
omap_init_clocksource_32k();
|
||||||
|
|
||||||
#ifdef CONFIG_OMAP_DM_TIMER
|
#ifdef CONFIG_OMAP_DM_TIMER
|
||||||
omap_dm_timer_init();
|
omap_dm_timer_init();
|
||||||
#endif
|
#endif
|
||||||
omap_init_32k_timer();
|
omap_init_32k_timer();
|
||||||
}
|
|
||||||
|
|
||||||
struct sys_timer omap_timer = {
|
return true;
|
||||||
.init = omap_timer_init,
|
}
|
||||||
};
|
|
||||||
|
@@ -124,8 +124,9 @@ static inline void cm_t3517_init_hecc(void) {}
|
|||||||
#if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE)
|
#if defined(CONFIG_RTC_DRV_V3020) || defined(CONFIG_RTC_DRV_V3020_MODULE)
|
||||||
#define RTC_IO_GPIO (153)
|
#define RTC_IO_GPIO (153)
|
||||||
#define RTC_WR_GPIO (154)
|
#define RTC_WR_GPIO (154)
|
||||||
#define RTC_RD_GPIO (160)
|
#define RTC_RD_GPIO (53)
|
||||||
#define RTC_CS_GPIO (163)
|
#define RTC_CS_GPIO (163)
|
||||||
|
#define RTC_CS_EN_GPIO (160)
|
||||||
|
|
||||||
struct v3020_platform_data cm_t3517_v3020_pdata = {
|
struct v3020_platform_data cm_t3517_v3020_pdata = {
|
||||||
.use_gpio = 1,
|
.use_gpio = 1,
|
||||||
@@ -145,6 +146,16 @@ static struct platform_device cm_t3517_rtc_device = {
|
|||||||
|
|
||||||
static void __init cm_t3517_init_rtc(void)
|
static void __init cm_t3517_init_rtc(void)
|
||||||
{
|
{
|
||||||
|
int err;
|
||||||
|
|
||||||
|
err = gpio_request(RTC_CS_EN_GPIO, "rtc cs en");
|
||||||
|
if (err) {
|
||||||
|
pr_err("CM-T3517: rtc cs en gpio request failed: %d\n", err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gpio_direction_output(RTC_CS_EN_GPIO, 1);
|
||||||
|
|
||||||
platform_device_register(&cm_t3517_rtc_device);
|
platform_device_register(&cm_t3517_rtc_device);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
@@ -214,12 +225,12 @@ static struct mtd_partition cm_t3517_nand_partitions[] = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "linux",
|
.name = "linux",
|
||||||
.offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */
|
.offset = MTDPART_OFS_APPEND, /* Offset = 0x2A0000 */
|
||||||
.size = 32 * NAND_BLOCK_SIZE,
|
.size = 32 * NAND_BLOCK_SIZE,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.name = "rootfs",
|
.name = "rootfs",
|
||||||
.offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */
|
.offset = MTDPART_OFS_APPEND, /* Offset = 0x6A0000 */
|
||||||
.size = MTDPART_SIZ_FULL,
|
.size = MTDPART_SIZ_FULL,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -256,11 +267,19 @@ static void __init cm_t3517_init_irq(void)
|
|||||||
static struct omap_board_mux board_mux[] __initdata = {
|
static struct omap_board_mux board_mux[] __initdata = {
|
||||||
/* GPIO186 - Green LED */
|
/* GPIO186 - Green LED */
|
||||||
OMAP3_MUX(SYS_CLKOUT2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
OMAP3_MUX(SYS_CLKOUT2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
||||||
/* RTC GPIOs: IO, WR#, RD#, CS# */
|
|
||||||
|
/* RTC GPIOs: */
|
||||||
|
/* IO - GPIO153 */
|
||||||
OMAP3_MUX(MCBSP4_DR, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
OMAP3_MUX(MCBSP4_DR, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
||||||
|
/* WR# - GPIO154 */
|
||||||
OMAP3_MUX(MCBSP4_DX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
OMAP3_MUX(MCBSP4_DX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
||||||
OMAP3_MUX(MCBSP_CLKS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
/* RD# - GPIO53 */
|
||||||
|
OMAP3_MUX(GPMC_NCS2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
||||||
|
/* CS# - GPIO163 */
|
||||||
OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
OMAP3_MUX(UART3_CTS_RCTX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
||||||
|
/* CS EN - GPIO160 */
|
||||||
|
OMAP3_MUX(MCBSP_CLKS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
|
||||||
|
|
||||||
/* HSUSB1 RESET */
|
/* HSUSB1 RESET */
|
||||||
OMAP3_MUX(UART2_TX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
OMAP3_MUX(UART2_TX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
||||||
/* HSUSB2 RESET */
|
/* HSUSB2 RESET */
|
||||||
|
@@ -275,8 +275,7 @@ static struct twl4030_gpio_platform_data devkit8000_gpio_data = {
|
|||||||
.irq_base = TWL4030_GPIO_IRQ_BASE,
|
.irq_base = TWL4030_GPIO_IRQ_BASE,
|
||||||
.irq_end = TWL4030_GPIO_IRQ_END,
|
.irq_end = TWL4030_GPIO_IRQ_END,
|
||||||
.use_leds = true,
|
.use_leds = true,
|
||||||
.pullups = BIT(1),
|
.pulldowns = BIT(1) | BIT(2) | BIT(6) | BIT(8) | BIT(13)
|
||||||
.pulldowns = BIT(2) | BIT(6) | BIT(7) | BIT(8) | BIT(13)
|
|
||||||
| BIT(15) | BIT(16) | BIT(17),
|
| BIT(15) | BIT(16) | BIT(17),
|
||||||
.setup = devkit8000_twl_gpio_setup,
|
.setup = devkit8000_twl_gpio_setup,
|
||||||
};
|
};
|
||||||
|
@@ -34,7 +34,6 @@
|
|||||||
#include "cm2_44xx.h"
|
#include "cm2_44xx.h"
|
||||||
#include "cm-regbits-44xx.h"
|
#include "cm-regbits-44xx.h"
|
||||||
#include "prm44xx.h"
|
#include "prm44xx.h"
|
||||||
#include "prm44xx.h"
|
|
||||||
#include "prm-regbits-44xx.h"
|
#include "prm-regbits-44xx.h"
|
||||||
#include "control.h"
|
#include "control.h"
|
||||||
#include "scrm44xx.h"
|
#include "scrm44xx.h"
|
||||||
|
@@ -423,6 +423,12 @@ int clkdm_add_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2)
|
|||||||
{
|
{
|
||||||
struct clkdm_dep *cd;
|
struct clkdm_dep *cd;
|
||||||
|
|
||||||
|
if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) {
|
||||||
|
pr_err("clockdomain: %s/%s: %s: not yet implemented\n",
|
||||||
|
clkdm1->name, clkdm2->name, __func__);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
if (!clkdm1 || !clkdm2)
|
if (!clkdm1 || !clkdm2)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
@@ -458,6 +464,12 @@ int clkdm_del_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2)
|
|||||||
{
|
{
|
||||||
struct clkdm_dep *cd;
|
struct clkdm_dep *cd;
|
||||||
|
|
||||||
|
if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) {
|
||||||
|
pr_err("clockdomain: %s/%s: %s: not yet implemented\n",
|
||||||
|
clkdm1->name, clkdm2->name, __func__);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
if (!clkdm1 || !clkdm2)
|
if (!clkdm1 || !clkdm2)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
@@ -500,6 +512,12 @@ int clkdm_read_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2)
|
|||||||
if (!clkdm1 || !clkdm2)
|
if (!clkdm1 || !clkdm2)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) {
|
||||||
|
pr_err("clockdomain: %s/%s: %s: not yet implemented\n",
|
||||||
|
clkdm1->name, clkdm2->name, __func__);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
cd = _clkdm_deps_lookup(clkdm2, clkdm1->wkdep_srcs);
|
cd = _clkdm_deps_lookup(clkdm2, clkdm1->wkdep_srcs);
|
||||||
if (IS_ERR(cd)) {
|
if (IS_ERR(cd)) {
|
||||||
pr_debug("clockdomain: hardware cannot set/clear wake up of "
|
pr_debug("clockdomain: hardware cannot set/clear wake up of "
|
||||||
@@ -527,6 +545,12 @@ int clkdm_clear_all_wkdeps(struct clockdomain *clkdm)
|
|||||||
struct clkdm_dep *cd;
|
struct clkdm_dep *cd;
|
||||||
u32 mask = 0;
|
u32 mask = 0;
|
||||||
|
|
||||||
|
if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) {
|
||||||
|
pr_err("clockdomain: %s: %s: not yet implemented\n",
|
||||||
|
clkdm->name, __func__);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
if (!clkdm)
|
if (!clkdm)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
@@ -830,8 +854,7 @@ void omap2_clkdm_allow_idle(struct clockdomain *clkdm)
|
|||||||
* dependency code and data for OMAP4.
|
* dependency code and data for OMAP4.
|
||||||
*/
|
*/
|
||||||
if (cpu_is_omap44xx()) {
|
if (cpu_is_omap44xx()) {
|
||||||
WARN_ONCE(1, "clockdomain: OMAP4 wakeup/sleep dependency "
|
pr_err("clockdomain: %s: OMAP4 wakeup/sleep dependency support: not yet implemented\n", clkdm->name);
|
||||||
"support is not yet implemented\n");
|
|
||||||
} else {
|
} else {
|
||||||
if (atomic_read(&clkdm->usecount) > 0)
|
if (atomic_read(&clkdm->usecount) > 0)
|
||||||
_clkdm_add_autodeps(clkdm);
|
_clkdm_add_autodeps(clkdm);
|
||||||
@@ -872,8 +895,7 @@ void omap2_clkdm_deny_idle(struct clockdomain *clkdm)
|
|||||||
* dependency code and data for OMAP4.
|
* dependency code and data for OMAP4.
|
||||||
*/
|
*/
|
||||||
if (cpu_is_omap44xx()) {
|
if (cpu_is_omap44xx()) {
|
||||||
WARN_ONCE(1, "clockdomain: OMAP4 wakeup/sleep dependency "
|
pr_err("clockdomain: %s: OMAP4 wakeup/sleep dependency support: not yet implemented\n", clkdm->name);
|
||||||
"support is not yet implemented\n");
|
|
||||||
} else {
|
} else {
|
||||||
if (atomic_read(&clkdm->usecount) > 0)
|
if (atomic_read(&clkdm->usecount) > 0)
|
||||||
_clkdm_del_autodeps(clkdm);
|
_clkdm_del_autodeps(clkdm);
|
||||||
|
@@ -30,8 +30,6 @@
|
|||||||
#include "cm1_44xx.h"
|
#include "cm1_44xx.h"
|
||||||
#include "cm2_44xx.h"
|
#include "cm2_44xx.h"
|
||||||
|
|
||||||
#include "cm1_44xx.h"
|
|
||||||
#include "cm2_44xx.h"
|
|
||||||
#include "cm-regbits-44xx.h"
|
#include "cm-regbits-44xx.h"
|
||||||
#include "prm44xx.h"
|
#include "prm44xx.h"
|
||||||
#include "prcm44xx.h"
|
#include "prcm44xx.h"
|
||||||
|
@@ -264,7 +264,7 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused)
|
|||||||
if (IS_ERR(od)) {
|
if (IS_ERR(od)) {
|
||||||
pr_err("%s: Cant build omap_device for %s:%s.\n",
|
pr_err("%s: Cant build omap_device for %s:%s.\n",
|
||||||
__func__, name, oh->name);
|
__func__, name, oh->name);
|
||||||
return IS_ERR(od);
|
return PTR_ERR(od);
|
||||||
}
|
}
|
||||||
|
|
||||||
mem = platform_get_resource(&od->pdev, IORESOURCE_MEM, 0);
|
mem = platform_get_resource(&od->pdev, IORESOURCE_MEM, 0);
|
||||||
|
@@ -38,20 +38,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef MULTI_OMAP2
|
#ifdef MULTI_OMAP2
|
||||||
|
|
||||||
/*
|
|
||||||
* We use __glue to avoid errors with multiple definitions of
|
|
||||||
* .globl omap_irq_base as it's included from entry-armv.S but not
|
|
||||||
* from entry-common.S.
|
|
||||||
*/
|
|
||||||
#ifdef __glue
|
|
||||||
.pushsection .data
|
|
||||||
.globl omap_irq_base
|
|
||||||
omap_irq_base:
|
|
||||||
.word 0
|
|
||||||
.popsection
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Configure the interrupt base on the first interrupt.
|
* Configure the interrupt base on the first interrupt.
|
||||||
* See also omap_irq_base_init for setting omap_irq_base.
|
* See also omap_irq_base_init for setting omap_irq_base.
|
||||||
|
@@ -314,14 +314,13 @@ static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data)
|
|||||||
return omap_hwmod_set_postsetup_state(oh, *(u8 *)data);
|
return omap_hwmod_set_postsetup_state(oh, *(u8 *)data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __iomem *omap_irq_base;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize asm_irq_base for entry-macro.S
|
* Initialize asm_irq_base for entry-macro.S
|
||||||
*/
|
*/
|
||||||
static inline void omap_irq_base_init(void)
|
static inline void omap_irq_base_init(void)
|
||||||
{
|
{
|
||||||
extern void __iomem *omap_irq_base;
|
|
||||||
|
|
||||||
#ifdef MULTI_OMAP2
|
|
||||||
if (cpu_is_omap24xx())
|
if (cpu_is_omap24xx())
|
||||||
omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP24XX_IC_BASE);
|
omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP24XX_IC_BASE);
|
||||||
else if (cpu_is_omap34xx())
|
else if (cpu_is_omap34xx())
|
||||||
@@ -330,7 +329,6 @@ static inline void omap_irq_base_init(void)
|
|||||||
omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE);
|
omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE);
|
||||||
else
|
else
|
||||||
pr_err("Could not initialize omap_irq_base\n");
|
pr_err("Could not initialize omap_irq_base\n");
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init omap2_init_common_infrastructure(void)
|
void __init omap2_init_common_infrastructure(void)
|
||||||
|
@@ -160,7 +160,7 @@ static int __init _omap_mux_get_by_name(struct omap_mux_partition *partition,
|
|||||||
struct omap_mux *mux = NULL;
|
struct omap_mux *mux = NULL;
|
||||||
struct omap_mux_entry *e;
|
struct omap_mux_entry *e;
|
||||||
const char *mode_name;
|
const char *mode_name;
|
||||||
int found = 0, found_mode, mode0_len = 0;
|
int found = 0, found_mode = 0, mode0_len = 0;
|
||||||
struct list_head *muxmodes = &partition->muxmodes;
|
struct list_head *muxmodes = &partition->muxmodes;
|
||||||
|
|
||||||
mode_name = strchr(muxname, '.');
|
mode_name = strchr(muxname, '.');
|
||||||
|
@@ -134,7 +134,7 @@ static void omap2_enter_full_retention(void)
|
|||||||
|
|
||||||
/* Block console output in case it is on one of the OMAP UARTs */
|
/* Block console output in case it is on one of the OMAP UARTs */
|
||||||
if (!is_suspending())
|
if (!is_suspending())
|
||||||
if (try_acquire_console_sem())
|
if (!console_trylock())
|
||||||
goto no_sleep;
|
goto no_sleep;
|
||||||
|
|
||||||
omap_uart_prepare_idle(0);
|
omap_uart_prepare_idle(0);
|
||||||
@@ -151,7 +151,7 @@ static void omap2_enter_full_retention(void)
|
|||||||
omap_uart_resume_idle(0);
|
omap_uart_resume_idle(0);
|
||||||
|
|
||||||
if (!is_suspending())
|
if (!is_suspending())
|
||||||
release_console_sem();
|
console_unlock();
|
||||||
|
|
||||||
no_sleep:
|
no_sleep:
|
||||||
if (omap2_pm_debug) {
|
if (omap2_pm_debug) {
|
||||||
|
@@ -398,7 +398,7 @@ void omap_sram_idle(void)
|
|||||||
if (!is_suspending())
|
if (!is_suspending())
|
||||||
if (per_next_state < PWRDM_POWER_ON ||
|
if (per_next_state < PWRDM_POWER_ON ||
|
||||||
core_next_state < PWRDM_POWER_ON)
|
core_next_state < PWRDM_POWER_ON)
|
||||||
if (try_acquire_console_sem())
|
if (!console_trylock())
|
||||||
goto console_still_active;
|
goto console_still_active;
|
||||||
|
|
||||||
/* PER */
|
/* PER */
|
||||||
@@ -481,7 +481,7 @@ void omap_sram_idle(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!is_suspending())
|
if (!is_suspending())
|
||||||
release_console_sem();
|
console_unlock();
|
||||||
|
|
||||||
console_still_active:
|
console_still_active:
|
||||||
/* Disable IO-PAD and IO-CHAIN wakeup */
|
/* Disable IO-PAD and IO-CHAIN wakeup */
|
||||||
|
@@ -19,7 +19,6 @@
|
|||||||
#include <plat/prcm.h>
|
#include <plat/prcm.h>
|
||||||
|
|
||||||
#include "powerdomain.h"
|
#include "powerdomain.h"
|
||||||
#include "prm-regbits-34xx.h"
|
|
||||||
#include "prm.h"
|
#include "prm.h"
|
||||||
#include "prm-regbits-24xx.h"
|
#include "prm-regbits-24xx.h"
|
||||||
#include "prm-regbits-34xx.h"
|
#include "prm-regbits-34xx.h"
|
||||||
|
@@ -812,7 +812,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata)
|
|||||||
|
|
||||||
oh->dev_attr = uart;
|
oh->dev_attr = uart;
|
||||||
|
|
||||||
acquire_console_sem(); /* in case the earlycon is on the UART */
|
console_lock(); /* in case the earlycon is on the UART */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Because of early UART probing, UART did not get idled
|
* Because of early UART probing, UART did not get idled
|
||||||
@@ -838,7 +838,7 @@ void __init omap_serial_init_port(struct omap_board_data *bdata)
|
|||||||
omap_uart_block_sleep(uart);
|
omap_uart_block_sleep(uart);
|
||||||
uart->timeout = DEFAULT_TIMEOUT;
|
uart->timeout = DEFAULT_TIMEOUT;
|
||||||
|
|
||||||
release_console_sem();
|
console_unlock();
|
||||||
|
|
||||||
if ((cpu_is_omap34xx() && uart->padconf) ||
|
if ((cpu_is_omap34xx() && uart->padconf) ||
|
||||||
(uart->wk_en && uart->wk_mask)) {
|
(uart->wk_en && uart->wk_mask)) {
|
||||||
|
@@ -42,6 +42,8 @@
|
|||||||
|
|
||||||
#include "timer-gp.h"
|
#include "timer-gp.h"
|
||||||
|
|
||||||
|
#include <plat/common.h>
|
||||||
|
|
||||||
/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
|
/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
|
||||||
#define MAX_GPTIMER_ID 12
|
#define MAX_GPTIMER_ID 12
|
||||||
|
|
||||||
@@ -176,10 +178,14 @@ static void __init omap2_gp_clockevent_init(void)
|
|||||||
/*
|
/*
|
||||||
* When 32k-timer is enabled, don't use GPTimer for clocksource
|
* When 32k-timer is enabled, don't use GPTimer for clocksource
|
||||||
* instead, just leave default clocksource which uses the 32k
|
* instead, just leave default clocksource which uses the 32k
|
||||||
* sync counter. See clocksource setup in see plat-omap/common.c.
|
* sync counter. See clocksource setup in plat-omap/counter_32k.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static inline void __init omap2_gp_clocksource_init(void) {}
|
static void __init omap2_gp_clocksource_init(void)
|
||||||
|
{
|
||||||
|
omap_init_clocksource_32k();
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/*
|
/*
|
||||||
* clocksource
|
* clocksource
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user