summaryrefslogtreecommitdiff
path: root/sound/isa
AgeCommit message (Collapse)AuthorFilesLines
2006-10-06[ALSA] Fix memory leak in sound/isa/es18xx.cEric Sesterhenn1-0/+1
Fixed a memory leak in the error patch. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-10-05IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells16-27/+24
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
2006-09-23[ALSA] gus: Use SEEK_{SET,CUR,END} instead of hardcoded valuesJosef 'Jeff' Sipek1-3/+3
gus: Use SEEK_{SET,CUR,END} instead of hardcoded values Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Add dB scale information to opl3sa2 driverTakashi Iwai1-2/+24
Added the dB scale information to opl3sa2 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Add dB scale information to ad1848 driverTakashi Iwai1-15/+34
Added the dB scale information to ad1848 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Add dB scale information to ad1816a driverTakashi Iwai1-11/+44
Added the dB scale information to ad1816a driver. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] es18xx - Add PnP BIOS supportOndrej Zary1-62/+157
This patch adds PnP BIOS support to es18xx driver. It allows ESS ES18xx sound chips integrated in some notebooks (such as DTK FortisPro TOP-5A) that don't appear as ISA cards (they aren't recognized by ISA PnP, only by PnP BIOS) to 'just work' automatically. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-12[ALSA] Fix undefined (missing) references in ISA MIRO sound driverRandy Dunlap1-0/+1
WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_create WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_pcm WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_timer WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/sound/isa/opti9xx/snd-miro.ko needs unknown symbol snd_cs4231_mixer WARNING: /lib/modules/2.6.18-rc1-mm1/kernel/fs/reiser4/reiser4.ko needs unknown symbol generic_file_read Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-12[ALSA] make sound/isa/gus/gusextreme.c:devices staticAdrian Bunk1-1/+1
'devices' is not a good name for a global variable. Thankfully, it can become static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-12[ALSA] wavefront: fix __init/__devinit confusionClemens Ladisch3-26/+26
The wavefront driver used __init in some places referenced by __devinit functions. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-02[PATCH] irq-flags: sound: Use the new IRQF_ constantsThomas Gleixner23-25/+25
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-27[PATCH] 64bit resource: fix up printks for resources in sound driversGreg Kroah-Hartman3-6/+8
This is needed if we wish to change the size of the resource structures. Based on an original patch from Vivek Goyal <vgoyal@in.ibm.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-22[ALSA] fix potential NULL pointer deref in snd_sb8dsp_midi_interrupt()Jesper Juhl1-13/+7
First testing if a pointer is NULL and if it is (or might be), proceeding with code that dereferences that same pointer is clearly a mistake. This happens in sound/isa/sb/sb8_midi.c::snd_sb8dsp_midi_interrupt() The patch below reworks the code so this unfortunate case doesn't happen. Also remove some blank comments. Found by the Coverity checker as bug #367 Patch is compile testted only due to lack of hardware. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] Fix invalid __init in ALSA ISA driversTakashi Iwai2-16/+16
Replaced invalid __init with __devinit in snd-sbawe and snd-opl3sa2 drivers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] Change an arugment of snd_mpu401_uart_new() to bit flagsTakashi Iwai1-2/+1
Change the 5th argument of snd_mpu401_uart_new() to bit flags instead of a boolean. The argument takes bits that consist of MPU401_INFO_XXX flags. The callers that used the value 1 there are replaced with MPU401_INFO_INTEGRATED. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] Remove zero-initialization of static variablesTakashi Iwai5-6/+6
Removed zero-initializations of static variables. A tiny optimization. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] add more sequencer port type information bitsClemens Ladisch1-1/+3
Add four new information flags SNDRV_SEQ_PORT_TYPE_HARDWARE, _SOFTWARE, _SYNTHESIZER, _PORT for sequencer ports. This makes it easier for apps like Rosegarden to make policy decisions based on the port type. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-06-22[ALSA] Remove unneeded read/write_size fields in proc text opsTakashi Iwai4-7/+5
Remove unneeded read/write_size fields in proc text ops. snd_info_set_text_ops() is fixed, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-05-21[PATCH] es18xx build fixAndrew Morton1-0/+2
sound/isa/es18xx.c: In function `snd_es18xx_identify': sound/isa/es18xx.c:1606: warning: implicit declaration of function `udelay' Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-04-27[ALSA] Fix double free in error path of miro driverTakashi Iwai1-3/+0
Fixed the double free in error path of miro driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12[ALSA] unregister platform device again if probe was unsuccessfulRene Herman19-8/+81
Unregister the platform device again if the probe was unsuccessful. This restores the behaviour of not loading the driver on probe() failure. Signed-off-by: Rene Herman <rene.herman@keyaccess.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12[ALSA] continue on IS_ERR from platform device registrationRene Herman16-160/+64
Continue with the next one on error from device registration. This would seem the correct thing to do, even if it's not the probe() error that we're getting. Signed-off-by: Rene Herman <rene.herman@keyaccess.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31[ALSA] AdLib FM card driverRene Herman3-0/+172
Attached you'll find an ALSA driver for AdLib FM cards. An AdLib card is just an OPL2, which was already supported by sound/drivers/opl3, so only very minimal bus-glue is needed. The patch applies cleanly to both 2.6.16 and 2.6.16-mm1. The driver has been tested with an actual ancient 8-bit ISA AdLib card and works fine. It also works fine for an OPL3 {,emulation} as still found on many ISA soundcards but given that AdLib cards don't have their own mixer, upping the volume from 0 might be a problem without the card driver already loaded and driving the OPL3. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31[ALSA] ISA drivers bailing on first !enable[i]Rene Herman1-2/+2
Fix the wrong check of enable option in cmi8330 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31[ALSA] Remove obsolete kfree_nocheck callTakashi Iwai1-4/+2
Fixed the compilation, removing obsolete kfree_nocheck() call for memory debugging. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31[ALSA] Add snd-miro driverMartin Langer4-0/+1546
Added snd-miro driver for miroSOUND PCM by Martin Langer. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: wavefrontBjorn Helgaas1-4/+6
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: sscapeBjorn Helgaas1-2/+2
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: sb16Bjorn Helgaas1-6/+8
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: interwaveBjorn Helgaas1-5/+7
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: es968Bjorn Helgaas1-3/+9
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: es18xxBjorn Helgaas1-5/+8
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: dt019xBjorn Helgaas1-3/+9
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: cmi8330Bjorn Helgaas1-6/+9
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix some __init/__devinit issues. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: azt2320Bjorn Helgaas1-3/+9
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: als100Bjorn Helgaas1-4/+10
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. And fix a __init/__devinit issue. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] PNP: adjust pnp_register_card_driver() signature: ad1816aBjorn Helgaas1-3/+9
Remove the assumption that pnp_register_card_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Cc: Jaroslav Kysela <perex@suse.cz> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] pnp: opl3sa2: adjust pnp_register_driver signatureBjorn Helgaas1-9/+8
Remove the assumption that pnp_register_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27[PATCH] pnp: cs4236: adjust pnp_register_driver signatureBjorn Helgaas1-13/+12
Remove the assumption that pnp_register_driver() returns the number of devices claimed. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Adam Belay <ambx1@neo.rr.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-22[ALSA] Fix gus_pcm dereference before NULLEugene Teo1-2/+0
Modules: GUS Library The NULL check of substream is simply superfluous. It is guaranteed to receive non-NULL substream. Thanks Takashi. Coverity bug #861 Signed-off-by: Eugene Teo <eugene.teo@eugeneteo.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] fix some memory leaksAdrian Bunk1-0/+1
Modules: Generic drivers,ES18xx driver,CS46xx driver This patch fixes two memory leaks spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] ad1848 double freeDave Jones1-3/+1
Modules: AD1848 driver Same again, snd_ctl_add() already kfree's on error. Coverity #956 Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] sound/isa/sb/sb_mixer.c double kfreeDave Jones1-3/+1
Modules: SB drivers snd_ctl_add() already does the free on error. Coverity bug #957 Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] opti9x - Fix compile without CONFIG_PNPTakashi Iwai1-0/+6
Modules: Opti9xx drivers Fix compile errors without CONFIG_PNP. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] cs4236 - Fix a typoTakashi Iwai1-1/+1
Modules: CS4236+ driver Fixed a typo in snd_cs4236_put_master_digital(), resulting in silence right channel. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] Fix check of enable module optionTakashi Iwai14-17/+39
Fix the check of enable module option in probe of platform_device drivers. It shouldn't break the loop but just ignore if enable[i] is false. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] ad1816a - Fix PCM trigger directionKen Arromdee1-6/+9
Modules: AD1816A driver Fixed the bug of capture with Shark Predator ISA resulting in: arecord: pcm_read:1196: read error: Input/output error Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] semaphore -> mutex (ISA part)Ingo Molnar8-50/+50
Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] #4/4 for Zoom Video - add Zoom Video supportMark Salazar1-3/+48
Modules: ES18xx driver Forth of 4 es18xx.c patches culminating in Zoom Video support. This patch adds Zoom Video support for those chipsets that support it. Testing: This work was initially done on the source from the Debian Sarge ALSA package, then tested on an ES1879. I could not test the Zoom Video function for an ES1878 or ES1869. Patches were created against the Sarge code and then edited to apply correctly to the ALSA cvs code. Lastly the patched ALSA cvs code was test for successful compilation. No additional testing was done on the ALSA cvs version. One quirk (noted in my comments below) is that apparently the datasheet is wrong for one of the ES1879 Zoom Video 'enable' bits, because 1) if you set this bit it messes up PCM playback (speaker_test play a lower frequency) 2) even if you don't set this bit Zoom Video still works. I added a control to toggle the bit on just in case there might be a version of the ES1879 that requires it, but I expect noone will need it. Signed-off-by: Mark Salazar <markTheCoder@justmyself.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] #3/4 for Zoom Video - change Hardware Volume interrupt handlingMark Salazar1-8/+11
Modules: ES18xx driver Third of 4 es18xx.c patches culminating in Zoom Video support. This patch changes the Hardware Volume support to reflect the fact that not all of the supported chipsets have seperate registers dedicated to the Hardware Volume inputs. Although all the chipsets can generate an HWV interrupt whenever a Hardware Volume input is received only those with seperate HWV registers can split the HWV registers from the Master volume registers. Testing: This work was initially done on the source from the Debian Sarge ALSA package, then tested on an ES1879 and an ES1878 machine. Patches were created against the Sarge code and then edited to apply correctly to the ALSA cvs code. Lastly the patched ALSA cvs code was test for successful compilation. No additional testing was done on the ALSA cvs version. Signed-off-by: Mark Salazar <markTheCoder@justmyself.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>