Staging: Merge branch 'staging-next' into 2.6.38-rc3

This was done to resolve conflicts in the following files due
to patches in Linus's tree and in the staging-next tree:
	drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
	drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Greg Kroah-Hartman
2011-02-02 13:35:58 -08:00
1425 changed files with 14426 additions and 10209 deletions
+1
View File
@@ -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>
@@ -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
+2 -2
View File
@@ -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">
+1 -1
View File
@@ -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>
+2 -2
View File
@@ -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>
+4 -2
View File
@@ -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>
+2 -1
View File
@@ -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
+2
View File
@@ -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:
+2 -2
View File
@@ -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.
+65 -8
View File
@@ -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();
} }
+5
View File
@@ -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!
+71 -12
View File
@@ -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
+21 -24
View File
@@ -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;
} }
+9 -29
View File
@@ -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
----------------- -----------------
+10 -2
View File
@@ -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
========================= =========================
+70 -29
View File
@@ -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>
@@ -3664,6 +3673,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/
@@ -3671,7 +3702,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/
@@ -5539,7 +5570,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
@@ -5561,7 +5592,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*
@@ -5781,14 +5812,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>
@@ -6118,8 +6149,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
@@ -6563,6 +6594,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
@@ -6864,7 +6905,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>
@@ -6910,7 +6951,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>
+1 -1
View File
@@ -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*
+3 -16
View File
@@ -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"

Some files were not shown because too many files have changed in this diff Show More