aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* [PATCH] pcmcia: validate_mem shouldn't be voidDominik Brodowski2006-01-05
| | | | | | | | | Add a return value to pcmcia_validate_mem. Only if we have enough memory available to map the CIS, we should proceed in trying to determine information about the device. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: remove get_socket callbackDominik Brodowski2006-01-05
| | | | | | | | The .get_socket callback is never used by the PCMCIA core, therefore remove it. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: remove socket register_callbackDominik Brodowski2006-01-05
| | | | | | | | Remove the register_callback declaration in struct pccard_operations as it is unused. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] yenta: optimize interrupt handlerDaniel Ritz2006-01-05
| | | | | | | | | Don't waste cpu time in yenta interrupt handler when the interrupt was for another device. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* [PATCH] pcmcia: avoid macro usage in cistplPavel Machek2006-01-05
| | | | | | | | Fix macro abuse in pcmcia. Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6Linus Torvalds2006-01-04
|\ | | | | | | Trivial manual merge fixup for usb_find_interface clashes.
| * [PATCH] net: swich device attribute creation to default attrsKay Sievers2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent udev versions don't longer cover bad sysfs timing with built-in logic. Explicit rules are required to do that. For net devices, the following is needed: ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address" to handle access to net device properties from an event handler without races. This patch changes the main net attributes to be created by the driver core, which is done _before_ the event is sent out and will not require the stat() loop of the WAIT_FOR_SYSFS key. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] drivers/base/power/runtime.c: #if 0 dpm_set_power_state()Adrian Bunk2006-01-04
| | | | | | | | | | | | | | | | This patch #if 0's an unused global function. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] sysfs: handle failures in sysfs_make_direntSteven Rostedt2006-01-04
| | | | | | | | | | | | | | | | I noticed that if sysfs_make_dirent fails to allocate the sd, then a null will be passed to sysfs_put. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Driver core: Make block devices create the proper symlink nameGreg Kroah-Hartman2006-01-04
| | | | | | | | | | | | | | | | | | | | Block devices need to add the block device name to the symlink they put in the device directory, otherwise multiple symlinks of the same name can be created. This matches the class system, which works the same way, we just forgot to convert block at the same time. Cc: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Driver core: only all userspace bind/unbind if CONFIG_HOTPLUG is enabledGreg Kroah-Hartman2006-01-04
| | | | | | | | | | | | | | | | | | Thanks to drivers making their id tables __devinit, we can't allow userspace to bind or unbind drivers from devices manually through sysfs. So we only allow this if CONFIG_HOTPLUG is enabled. Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Driver Core: Rearrange exports in platform.cDmitry Torokhov2006-01-04
| | | | | | | | | | | | | | | | | | | | | | Driver core: rearrange exports in platform.c The new way is to specify export right after symbol definition. Rearrange exports to follow new style to avoid mixing two styles in one file. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Driver Core: Add platform_device_del()Dmitry Torokhov2006-01-04
| | | | | | | | | | | | | | | | | | | | Driver core: add platform_device_del function Having platform_device_del90 allows more straightforward error handling code in drivers registering platform devices. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Input: fix add modalias support build errorRusty Russell2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | Fix build when scripts/mod/file2alias.c includes linux/input.h, which tries to include /usr/include/linux/mod_devicetable.h: In file included from scripts/mod/file2alias.c:40: include/linux/input.h:21:35: linux/mod_devicetable.h: No such file or directory make[2]: *** [scripts/mod/file2alias.o] Error 1 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Input: add modalias supportRusty Russell2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's the patch for modalias support for input classes. It uses comma-separated numbers, and doesn't describe all the potential keys (no module currently cares, and that would make the strings huge). The changes to input.h are to move the definitions needed by file2alias outside __KERNEL__. I chose not to move those definitions to mod_devicetable.h, because there are so many that it might break compile of something else in the kernel. The rest is fairly straightforward. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> CC: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] ide: MODALIAS support for autoloading of ide-cd, ide-disk, ...Kay Sievers2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ... Add MODULE_ALIAS to IDE midlayer modules: ide-disk, ide-cd, ide-floppy and ide-tape, to autoload these modules depending on the probed media type of the IDE device. It is used by udev and replaces the former agent shell script of the hotplug package, which was required to lookup the media type in the proc filesystem. Using proc was racy, cause the media file is created after the hotplug event is sent out. The module autoloading does not take any effect, until something like the following udev rule is configured: SUBSYSTEM=="ide", ACTION=="add", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}" The module ide-scsi will not be autoloaded, cause it requires manual configuration. It can't be, and never was supported for automatic setup in the hotplug package. Adding a MODULE_ALIAS to ide-scsi for all supported media types, would just lead to a default blacklist entry anyway. $ modinfo ide-disk filename: /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko description: ATA DISK Driver alias: ide:*m-disk* license: GPL ... $ modprobe -vn ide:m-disk insmod /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko $ cat /sys/bus/ide/devices/0.0/modalias ide:m-disk It also adds attributes to the IDE device: $ tree /sys/bus/ide/devices/0.0/ /sys/bus/ide/devices/0.0/ |-- bus -> ../../../../../../../bus/ide |-- drivename |-- media |-- modalias |-- power | |-- state | `-- wakeup `-- uevent $ cat /sys/bus/ide/devices/0.0/{modalias,drivename,media} ide:m-disk hda disk Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] kobject_uevent CONFIG_NET=n fixakpm@osdl.org2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lib/lib.a(kobject_uevent.o)(.text+0x25f): In function `kobject_uevent': : undefined reference to `__alloc_skb' lib/lib.a(kobject_uevent.o)(.text+0x2a1): In function `kobject_uevent': : undefined reference to `skb_over_panic' lib/lib.a(kobject_uevent.o)(.text+0x31d): In function `kobject_uevent': : undefined reference to `skb_over_panic' lib/lib.a(kobject_uevent.o)(.text+0x356): In function `kobject_uevent': : undefined reference to `netlink_broadcast' lib/lib.a(kobject_uevent.o)(.init.text+0x9): In function `kobject_uevent_init': : undefined reference to `netlink_kernel_create' make: *** [.tmp_vmlinux1] Error 1 Netlink is unconditionally enabled if CONFIG_NET, so that's OK. kobject_uevent.o is compiled even if !CONFIG_HOTPLUG, which is lazy. Let's compound the sin. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Allow overlapping resources for platform devicesKumar Gala2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases in which a device's memory mapped registers overlap with another device's memory mapped registers. On several PowerPC devices this occurs for the MDIO bus, whose registers tended to overlap with one of the ethernet controllers. By switching from request_resource to insert_resource we can register the MDIO bus as a proper platform device and not hack around how we handle its memory mapped registers. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] klist: Fix broken kref counting in find functionsFrank Pavlic2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The klist reference counting in the find functions that use klist_iter_init_node is broken. If the function (for example driver_find_device) is called with a NULL start object then everything is fine, the first call to next_device()/klist_next increases the ref-count of the first node on the list and does nothing for the start object which is NULL. If they are called with a valid start object then klist_next will decrement the ref-count for the start object but nobody has incremented it. Logical place to fix this would be klist_iter_init_node because the function puts a reference of the object into the klist_iter struct. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Frank Pavlic <pavlic@de.ibm.com> Cc: Patrick Mochel <mochel@digitalimplant.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Hold the device's parent's lock during probe and removeAlan Stern2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch (as604) makes the driver core hold a device's parent's lock as well as the device's lock during calls to the probe and remove methods in a driver. This facility is needed by USB device drivers, owing to the peculiar way USB devices work: A device provides multiple interfaces, and drivers are bound to interfaces rather than to devices; Nevertheless a reset, reset-configuration, suspend, or resume affects the entire device and requires the caller to hold the lock for the device, not just a lock for one of the interfaces. Since a USB driver's probe method is always called with the interface lock held, the locking order rules (always lock parent before child) prevent these methods from acquiring the device lock. The solution provided here is to call all probe and remove methods, for all devices (not just USB), with the parent lock already acquired. Although currently only the USB subsystem requires these changes, people have mentioned in prior discussion that the overhead of acquiring an extra semaphore in all the prove/remove sequences is not overly large. Up to now, the USB core has been using its own set of private semaphores. A followup patch will remove them, relying entirely on the device semaphores provided by the driver core. The code paths affected by this patch are: device_add and device_del: The USB core already holds the parent lock, so no actual change is needed. driver_register and driver_unregister: The driver core will now lock both the parent and the device before probing or removing. driver_bind and driver_unbind (in sysfs): These routines will now lock both the parent and the device before binding or unbinding. bus_rescan_devices: The helper routine will lock the parent before probing a device. I have not tested this patch for conflicts with other subsystems. As far as I can see, the only possibility of conflict would lie in the bus_rescan_devices pathway, and it seems pretty remote. Nevertheless, it would be good for this to get a lot of testing in -mm. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] driver kill hotplug word from sn and others fixPaul Jackson2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | The first of these changes s/hotplug/uevent/ was needed to compile sn2_defconfig (ia64/sn). The other three files changed are blind changes of all remaining bus_type.hotplug references I could find to bus_type.uevent. This patch attempts to finish similar changes made in the gregkh-driver-kill-hotplug-word-from-driver-core Nov 22 patch. Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] HOTPLUG: always enable the .config option, unless EMBEDDEDGreg Kroah-Hartman2006-01-04
| | | | | | | | | | | | | | | | With modules, dynamic /dev, and uevents, people really want CONFIG_HOTPLUG to be enabled in their kernels. If not, they can still disable it, but it is discouraged. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] driver core: replace "hotplug" by "uevent"Kay Sievers2006-01-04
| | | | | | | | | | | | | | | | | | Leave the overloaded "hotplug" word to susbsystems which are handling real devices. The driver core does not "plug" anything, it just exports the state to userspace and generates events. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] merge kobject_uevent and kobject_hotplugKay Sievers2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The distinction between hotplug and uevent does not make sense these days, netlink events are the default. udev depends entirely on netlink uevents. Only during early boot and in initramfs, /sbin/hotplug is needed. So merge the two functions and provide only one interface without all the options. The netlink layer got a nice generic interface with named slots recently, which is probably a better facility to plug events for subsystem specific events. Also the new poll() interface to /proc/mounts is a nicer way to notify about changes than sending events through the core. The uevents should only be used for driver core related requests to userspace now. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] remove mount/umount uevents from superblock handlingKay Sievers2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | The names of these events have been confusing from the beginning on, as they have been more like claim/release events. We needed these events for noticing HAL if storage devices have been mounted. Thanks to Al, we have the proper solution now and can poll() /proc/mounts instead to get notfied about mount tree changes. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] add uevent_helper control in /sys/kernel/Kay Sievers2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This deprecates the /proc/sys/kernel/hotplug file, as all this stuff should be in /sys some day, right? :) In /sys/kernel/ we have now uevent_seqnum and uevent_helper. The seqnum is no longer used by udev, as the version for this kernel depends on netlink which events will never get out-of-order. Recent udev versions disable the /sbin/hotplug helper with an init script, cause it leads to OOM on big boxes by running hundreds of shells in parallel. It should be done now by: echo "" > /sys/kernel/uevent_helper (Note that "-n" does not work, cause neighter proc nor sysfs support truncate().) Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] remove CONFIG_KOBJECT_UEVENT optionKay Sievers2006-01-04
| | | | | | | | | | | | | | | | | | It makes zero sense to have hotplug, but not the netlink events enabled today. Remove this option and merge the kobject_uevent.h header into the kobject.h header file. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] keep pnpbios usermod_helper away from hotplug_path[]Kay Sievers2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | These days we use udev to manage all kernel events. /proc/sys/kernel/hotplug will usually be disabled by an init-script. pnpnbios is not integrated with the driver core and should stay away from the now disabled /sbin/hotplug. Set the helper to /sbin/phpbios, even when there is probably no current user of this faciliy. If it's needed, it should definitely get proper driver core integration instead of forking binaries from the kernel. Signed-off-by: Kay Sievers <kay.sievers@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | [PATCH] i386: "invalid operand" -> "invalid opcode"Chuck Ebbert2006-01-04
| | | | | | | | | | | | | | According to the manual, INT 6 is "invalid opcode", not "invalid operand". Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Fix IXP4xx watchdog errata workaroundDeepak Saxena2006-01-04
| | | | | | | | | | | | | | | | The IXP4xx driver bails out on all A0 CPUs, but it should only do so on IXP42x as IXP46x has functioning HW. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsaLinus Torvalds2006-01-04
|\ \
| * | [ALSA] ad1889 - remove CVS ID from the driver identificationJaroslav Kysela2006-01-04
| | | | | | | | | | | | Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| * | [ALSA] opl3 - Fix the unreleased resourcesTakashi Iwai2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | Modules: OPL3 Fix the unreleased resources in the error path of snd_opl3_create(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | [ALSA] Revert the nested-device patchTakashi Iwai2006-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | Modules: ALSA Core Revert the nested-device patch to keep the compatibility with the current HAL configuration. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | [ALSA] dummy driver - added CA0106 emulation definesJaroslav Kysela2006-01-04
| | | | | | | | | | | | | | | | | | Modules: Generic drivers Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| * | [ALSA] version 1.0.11rc2Jaroslav Kysela2006-01-04
| | |
| * | [ALSA] Remove xxx_t typedefs: SPARC CS4231Takashi Iwai2006-01-03
| | | | | | | | | | | | | | | | | | Remove xxx_t typedefs from the SPARC CS4231 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | [ALSA] [PATCH] alsa: Improved PnP suspend supportPierre Ossman2006-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also use the PnP functions to start/stop the devices during the suspend so that drivers will not have to duplicate this code. Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | [ALSA] PATCH] Add PM support to PnP driversTakashi Iwai2006-01-03
| | | | | | | | | | | | | | | | | | Add suspend/resume callback to pnp_driver and pnp_card_driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | [ALSA] snd-emu10k1: Add new SB Live 5.1 PCI-ID.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
| * | [ALSA] snd-emu10k1: Correct control names for Audigy 4 Pro.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
| * | [ALSA] hda-codec - Add model entry for Shuttle ST20G5Takashi Iwai2006-01-03
| | | | | | | | | | | | | | | | | | | | | | | | Modules: HDA Codec driver Added the model entry for Shuttle ST20G5. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | [ALSA] emu10k1 - Clean up p16v codeTakashi Iwai2006-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Clean up and optimize the codes in p16v.c - Add proper __devinit* tags - Reduce unnecessary functions using a closure - Fix whitespaces - Rename 'Unknown' to 'Side' controls Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | [ALSA] snd-emu10k1: Add comments regarding chips present on the card.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
| * | [ALSA] snd-emu10k1: Add some comments regarding chip types.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
| * | [ALSA] snd-ca0106: Fix SPI driver code. Fixes speaker output.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | Modules: CA0106 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
| * | [ALSA] snd-emu10k1: Tidy SPI code.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
| * | [ALSA] snd-emu10k1: Fix whitespace.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
| * | [ALSA] snd-emu10k1: Fix whitespace.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
| * | [ALSA] snd-emu10k1: Enable speakers on Audigy 2 ZS Notebook.James Courtier-Dutton2006-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modules: EMU10K1/EMU10K2 driver Description: This enables the 7.1 speaker output of the Audigy 2 ZS Notebook. Further towards fixing ALSA bug#927 TODO: SPDIF/IEC958 output. (untested, might already work) Sound capture. (untested, might already work.) Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>