Changes v1.0.10 v1.0.11 detailed1

From AlsaProject
Jump to: navigation, search

Detailed changelog between 1.0.10 and 1.0.11 releases

  • alsa-driver
 + Sound Core
   - PCM midlevel & PCM OSS - make procfs & OSS plugin code optional
     
     1) The verbose procfs code for the PCM midlevel and usb audio
        can be removed now (more patches will follow).
        CONFIG_SND_VERBOSE_PROCFS
     2) The PCM OSS plugin system can be also compiled optionaly.
        CONFIG_SND_PCM_OSS_PLUGINS
   - Remove superfluous quotes
     
     Remove superfluous quotes in AC_MSG_RESULT().
   - Add description of als300
     
     Added the brief description of the new als300 driver.
   - release 1.0.11rc3
   - release 1.0.11rc2
   - configure: fix kernel version test in RTC check
     
     Fix a typo in the RTC callback check that prevented it from detecting
     the correct kernel version.
   - Add mutex.h wrapper
     
     Add wrapper for the new linux/mutex.h.
   - Move miro driver to alsa-kernel
     
     Move miro driver to alsa-kernel.
   - Move riptide driver to alsa-kernel
     
     Move riptide driver to alsa-kernel.
   - Move snd-als300 to alsa-kernel
     
     Move snd-als300 to alsa-kernel tree.
   - adjust documentation for higher card limit
     
     Fix all places in the docs where the card number limit is mentioned.
   - add compatibility bitmap.h
     
     Add a partial bitmap.h implementation for earlier kernels.
   - dynamic minors (4/6): dynamic minor number allocation
     
     Add an option to allocate device file minor numbers dynamically.
   - pcm - Make the support of old API selectable
     
     Make the support of old API selectable via config option.
   - Fix top Makefile
     
     Fix top Makefile of alsa-driver tree.  pci subdirectory has to be
     handled always regardless of CONFIG_PCI (due to ac97 stuff).
   - Add detection of ARM-AMBA
     
     Added the detection of ARM-AMBA, experimentally.
   - Detect pnp suspend
     
     - Use platform_compat.h for better emulation of platform_device.
     - Detect the PnP suspend/resume callback.
   - release 1.0.11rc5
   - Move PCXHR driver to alsa-kernel
     
     Moved PCXHR driver to alsa-kernel.
   - release 1.0.11rc1
   - Fix configure for 2.6.15-git
     
     Fix the detection of some kernel functions in configure for 2.6.15-git kernel
     tree.  We need to define a dummy KBUILD_BASENAME as a workaround.
   - Change autoconf requirement to 2.59
     
     Change AC_PREREQ to 2.59.
   - List the currently supported kernel versions
     
     List the currently supported kernel versions.
     This file will be updated at each alsa-driver release.
   - release 1.0.10
   - sound: align device drivers menus
     
     AC97 Kconfig entries broke the ALSA device drivers menu, so move them to a
     location where that won't happen, enabling all device sub-menus to be
     presented together.
     
     Fixed for the latest ALSA tree by Takashi Iwai <tiwai@suse.de>.
     
     Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
   - release 1.0.11
   - Improved handling of temp files
     
     Improved handling of temp files (bug#1370).
   - Fix confliction of autoconf.h
     
     Fix confliction of autoconf.h in kernel source tree and the one defined
     in alsa-driver tree.
   - Another build fixes
     
     Another build fixes, CONFIG_SOUND=m unconditionally.
   - release 1.0.11rc4
   - Add support of VIA C3-2
     
     Add the support of VIA C3-2 system.
     The patch taken from ALSA bug#1977.
 + ALSA Core
   - PCM midlevel & PCM OSS - make procfs & OSS plugin code optional
     
     1) The verbose procfs code for the PCM midlevel and usb audio
        can be removed now (more patches will follow).
        CONFIG_SND_VERBOSE_PROCFS
     2) The PCM OSS plugin system can be also compiled optionaly.
        CONFIG_SND_PCM_OSS_PLUGINS
   - return ENODEV for disconnected devices
     
     Add dummy functions that return -ENODEV for the struct file_operations
     of a disconnected device.  Without such functions, userspace would get
     ENOTTY.
   - Add DMA_28BIT_MASK definition
     
     Added the definition of DMA_28BIT_MASK for older kernels.
   - Add ifdef DMA_28BIT_MASK
     
     Oops, I forgot to add ifdef DMA_28BIT_MASK...
   - Fix compile with old suse 2.4 kernels
     
     Fix compile with old suse 2.4 kernels (with variable HZ).
   - Add definition of usb_ctrlrequest for old 2.4 kernels in adriver.h
     
     Added the definition of struct usb_ctrlrequest for old 2.4 kernels.
   - Fix compile with 2.4 kernels
     
     Added the missing inclusion of <linux/completion.h> for 2.4 kernels
     in the wrapper routine.
   - Fix compile on 2.6.15 without CONFIG_PM_LEGACY
     
     Fix compile on 2.6.15 without CONFIG_PM_LEGACY.
   - Remove BKL from sound/core/info.c
     
     Remove BKL from sound/core/info.c
     
     Signed-off-by: Ingo Molnar <mingo@elte.hu>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - Regenerated the patch
     
     Regenerated the patch for older kernels.
   - fix snd_info_entry_ioctl_old wrapper compilation
     
     Fix a typo in snd_info_entry_ioctl_old.
   - semaphore -> mutex (core part)
     
     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>
   - Add mutex.h wrapper
     
     Add wrapper for the new linux/mutex.h.
   - sound/core/: fix 3 off-by-one errors
     
     This patch fixes three off-by-one errors found by the Coverity checker.
     
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - Cleanup unused argument for snd_power_wait()
     
     Removed the unused file argument of snd_power_wait().
   - Define dummy __GFP_XXX for older kernels
     
     Define dummy __GFP_XXX for older kernels.
   - add compatibility bitmap.h
     
     Add a partial bitmap.h implementation for earlier kernels.
   - add __bitwise compatibility definition
     
     Define __bitwise for earlier kernels.
   - fix compilation on earlier kernels
     
     Fix various bugs in the compatibility code.
   - dynamic minors (2/6): simplify storage of snd_minor structures
     
     Store the snd_minor structure pointers in one array instead of using a
     separate list for each card.  This simplifies the mapping from device
     files to minor struct by removing the need to know about the encoding
     of the card number in the minor number.
   - dynamic minors (4/6): dynamic minor number allocation
     
     Add an option to allocate device file minor numbers dynamically.
   - dynamic minors (6/6): increase maximum number of sound cards
     
     With dynamic minor numbers, we can increase the number of sound cards.
     
     This requires that the sequencer client numbers of some kernel drivers
     are allocated dynamically, too.
   - [PATCH] mark f_ops const in the inode
     
     Mark the f_ops members of inodes as const, as well as fix the
     ripple-through this causes by places that copy this f_ops and then "do
     stuff" with it.
     
     Signed-off-by: Arjan van de Ven <arjan@infradead.org>
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Update dummy snd_power_wait() function for new calling convention
     
     Apparently nobody had tried to compile the ALSA CVS tree without power
     management enabled.
     
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - 2.6 kernel sync: small patches
   - Fix for the recent changes of pnp_*_regsiter_driver()
     
     Add a wrapper for pnp_*_register_driver() for 2.6.16 or older kernels
     to absorb the changes since 2.6.17rc1.  The return value is zero when
     success.
     
     Also fixed snd-pnp support module for older kernels.
   - Add missing DMA_24BIT_MASK in adriver.h
     
     Added the missing DMA_24BIT_MASK in adriver.h.
   - add compatibility DMA bit masks
     
     Add DMA_{30,31}BIT_MASK symbols for older kernels.
   - Optimize for config without PROC_FS
     
     Optimize the code when compiled without CONFIG_PROC_FS.
   - pcm - Make the support of old API selectable
     
     Make the support of old API selectable via config option.
   - Added AMD cs5536 audio
     
     Added AMD cs5536 audio.
   - DocBook: fix kernel-doc comments
     
     Fix typos in comments to remove kernel-doc warnings.
   - Add support for the CS5535 Audio device
     
     Add necessary files to build cs5535audio driver in alsa-driver tree.
   - Clean up includes in asound.h & asequencer.h
     
     Clean up includes in asound.h and asequencer.h.
   - Clean up wrappers
     
     - Use gfp_t in kmalloc-related wrappers
     - Use inline function instead of global exported ones if possible
   - Remove xxx_t typedefs: Core component
     
     Remove xxx_t typedefs from the core component.
   - Remove xxx_t typedefs: Proc handler
     
     Remove xxx_t typedefs from the core proc handler codes.
   - Remove xxx_t typedefs: OSS-emulation
     
     Remove xxx_t typedefs from the core OSS-emulation codes.
   - Backward-compatibility typedefs
     
     Backward-compatibility typedefs are stored in the new header, typedefs.h,
     for out-of-tree drivers.  This will be removed in future.
   - Remove xxx_t typedefs: Core
     
     Remove xxx_t typedefs from core.
     Patches are regenerated.
   - Decentralize PM control
     
     Remove the centralized PM control in the sound core.
     Each driver is responsible to get callbacks from bus/driver now.
     
     SND_GENERIC_DRIVER is removed together with this action.
   - Remove snd_legacy_auto_probe()
     
     Remove unsed snd_legacy_auto_probe() function.
   - Update the patches
     
     Regenerated the patches to follow the last PM changes.
   - New wrappers and workarounds
     
     - pci_save/restore_state() wrappers
     - platform_driver emulation
     - workarounds for suspend/resume callbacks of pnp_driver
     - compatible err.h
   - Add error messages
     
     Add error messages in the critial error path to be more verbose.
   - Revert the nested-device patch
     
     Revert the nested-device patch to keep the compatibility with the
     current HAL configuration.
   - Regenerate the patch
     
     Regenerate the patcch.
   - Add cpu_relax() wrapper
     
     Add a dummy cpu_relax() wrapper for 2.2 kernels
   - Fix a missing include
     
     Fix missing include <linux/device.h>
   - fix struct usb_ctrlrequest definition for 2.2 kernels
   - fix 2.2.x PCI config saving
     
     Fix a typo in snd_pci_compat_restore_state() that caused it to write
     wrong values.
   - Nest sound devices
     
     Make the control device parent of all other ALSA devices of a card.
   - unregister platform devices
     
     Call platform_device_unregister() for all platform devices that we've
     registered.
   - Subject: Fix platform_driver emulation for kernels <= 2.6.14
     
     The platform_driver_register() substitute in alsa-driver-1.0.10 sets
     drv->driver.probe and drv->driver.remove functions without checking for
     non-NULL drv->probe and drv->remove; snd_platform_driver_probe() and
     snd_platform_driver_remove() also do not check for NULL in those fields.
     However, snd_generic_driver has NULL ->probe and ->remove functions,
     therefore attempts to use it on kernels <= 2.6.14 lead to oopses.
     
     This patch changes platform_driver_register() provided by alsa-driver
     for old kernels to match the implementation in post-2.6.14 kernels,
     which checks for NULL ->probe and ->remove functions.
     
     Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
   - Add in_atomic() wrapper for older kernels
     
     Add in_atomic() wrapper for older kernels.
 + Control Midlevel
   - Fix error paths in snd_ctl_elem_add()
     
     Fix bugs in error paths of snd_ctl_elem_add()
      - NULL reference
      - double free (already freed in snd_ctl_add())
   - Cleanup unused argument for snd_power_wait()
     
     Removed the unused file argument of snd_power_wait().
   - Remove xxx_t typedefs: Controls
     
     Remove xxx_t typedefs from the core controls.
   - Decentralize PM control
     
     Remove the centralized PM control in the sound core.
     Each driver is responsible to get callbacks from bus/driver now.
     
     SND_GENERIC_DRIVER is removed together with this action.
   - Update the patches
     
     Regenerated the patches to follow the last PM changes.
   - Add error messages
     
     Add error messages in the critial error path to be more verbose.
   - Fix snd-usb-audio in 32-bit compat environment
     
     I'm getting oopses with snd-usb-audio in 32-bit compat environments:
     control_compat.c:get_ctl_type() doesn't initialize 'info', so
     'itemlist[uinfo->value.enumerated.item]' in
     usbmixer.c:mixer_ctl_selector_info() might access random memory (The 'if
     ((int)uinfo->value.enumerated.item >= cval->max)' doesn't fix all problems
     because of the unsigned -> signed conversion.)
     
     Signed-off-by: Juergen Kreileder <jk@blackdown.de>
   - Fix memory leaks in error path of control.c
     
     Fix memory leaks in error path of control.c (only with CONFIG_SND_DEBUG=y).
 + HWDEP Midlevel
   - semaphore -> mutex (core part)
     
     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>
   - Optimize for config without PROC_FS
     
     Optimize the code when compiled without CONFIG_PROC_FS.
   - Remove xxx_t typedefs: Hwdep
     
     Remove xxx_t typedefs from the core hwdep codes.
   - Add error messages
     
     Add error messages in the critial error path to be more verbose.
 + PCM Midlevel
   - Cleanup unused argument for snd_power_wait()
     
     Removed the unused file argument of snd_power_wait().
   - Tiny clean up of PCM codes
     
     - Make snd_pcm_prepare() static
     - Clean up snd_pcm_kernel_*_ioctl() functions, reduce exports
   - Clean up PCM codes (take 2)
     
     - Clean up initialization and destruction of substream instance
       Now snd_pcm_open_substream() alone does most initialization jobs.
       Add pcm_release callback for cleaning up at snd_pcm_release_substream()
     - Tidy up PCM oss code
   - dynamic minors (1/6): store device type in struct snd_minor
     
     Instead of a comment string, store the device type in the snd_minor
     structure.  This makes snd_minor more flexible, and has the nice side
     effect that we don't need anymore to create a separate snd_minor
     template for registering a device but can pass the file_operations
     directly to snd_register_device().
   - dynamic minors (3/6): store device-specific object pointers dynamically
     
     Instead of storing the pointers to the device-specific structures in an
     array, put them into the struct snd_minor, and look them up dynamically.
     
     This makes the device type modules independent of the minor number
     encoding.
   - Fix obsolete xxx_t typedefs
     
     Fixed the still remaining xxx_t typedefs.
   - Fix Oops of PCM OSS emulation
     
     Fix Oops of PCM OSS emulation occuring when multiple playback is used.
   - Fix Oops of PCM OSS emulation (missing patch)
     
     Missing patch to pcm.h for the last fix of Oops of PCM OSS emulation.
   - Optimize for config without PROC_FS
     
     Optimize the code when compiled without CONFIG_PROC_FS.
   - Remove xxx_t typedefs: PCM
     
     Remove xxx_t typedefs from the core PCM codes.
   - Remove xxx_t typedefs: Core
     
     Remove xxx_t typedefs from core.
     Patches are regenerated.
   - pcm - NULL check in snd_pcm_suspend*()
     
     Add NULL check in snd_pcm_suspend*() so that the caller doesn't have to do it
     by itself.
   - Add error messages
     
     Add error messages in the critial error path to be more verbose.
   - sound/core/pcm.c: make snd_pcm_format_name() static
     
     This patch makes the needlessly global snd_pcm_format_name() static.
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - pcm - Move PAUSE ioctl to common ioctl handler
     
     Moved PAUSE ioctl to the common ioctl handler.
     A capture stream may issue PAUSE, too.
   - pcm - Fix wrong asserts
     
     Fixed wrong or supreflous snd_assert()'s.
   - snd_pcm_format_name() is no longer exported
     
     Because snd_pcm_format_name() function is used only for informational
     purposes, it is no longer exported from the PCM midlevel to reduce
     space and dependency. usbaudio module shows only numeric value for format.
 + RawMidi Midlevel
   - rawmidi: adjust runtime->avail when changing output buffer size
     
     When the output buffer size is changed, runtime->avail must be
     adjusted to the new size; otherwise, draining of a bigger buffer would
     appear to fail because avail does not reach buffer_size.
   - rawmidi: protect against invalid device number in snd_rawmidi_info_select()
     
     In snd_rawmidi_info_select(), check that the device identified by the
     passed device number actually exists.
   - [PATCH] sound: Remove unneeded kmalloc() return value casts
     
     Get rid of unnessesary casts of kmalloc() return value in sound/
     
     Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
     Cc: Jaroslav Kysela <perex@perex.cz>
     Cc: Takashi Iwai <tiwai@suse.de>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Remove xxx_t typedefs: Raw MIDI
     
     Remove xxx_t typedefs from the core raw MIDI codes.
   - Remove xxx_t typedefs: Core
     
     Remove xxx_t typedefs from core.
     Patches are regenerated.
   - Add error messages
     
     Add error messages in the critial error path to be more verbose.
   - sound/: possible cleanups
     
     This patch contains the following possible cleanups:
     - pci/hda/hda_proc.c should #include "hda_local.h" for including the
       prototype of it's global function snd_hda_codec_proc_new()
     - core/rawmidi.c: make the needlessly global and EXPORT_SYMBOL'ed
       function snd_rawmidi_info() static
     
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
 + Timer Midlevel
   - Fix possible races in timer callbacks
     
     Fix possible races in timer callbacks.
   - Optimize for config without PROC_FS
     
     Optimize the code when compiled without CONFIG_PROC_FS.
   - Remove xxx_t typedefs: Timer
     
     Remove xxx_t typedefs from the core timer.
   - Remove xxx_t typedefs: Core
     
     Remove xxx_t typedefs from core.
     Patches are regenerated.
 + /arm/Makefile
   - PXA2xx i2Sound: support for Intel PXA2xx I2S audio.
     
     Support for Intel PXA2xx I2S audio.
     
     Signed-off-by: Giorgio Padrin <giorgio@mandarinlogiq.org>
 + /i2c/Makefile
   - Audio support for codec Philips UDA1380
     
     Audio support for codec Philips UDA1380.
     
     Signed-off-by: Giorgio Padrin <giorgio@mandarinlogiq.org>
 + /oss/Makefile
   - Decentralize PM control
     
     Remove the centralized PM control in the sound core.
     Each driver is responsible to get callbacks from bus/driver now.
     
     SND_GENERIC_DRIVER is removed together with this action.
 + AC97 Codec
   - ac97 - Add extra IDs for headphone autosense
     
     The following patch adds some extra IDs for the list of hardware which
     should have headphone line sense enabled by default.
     
     Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
   - ac97 - Add entry for VIA VT1618 codec
     
     Added the missing entry for VIA VT1618 codec.
     No particular patch is needed, though.
   - ac97 - Small fix for ALC65x codec
     
     Small fix for ALC65x codec, sync with Realtek's driver codes:
     - Rename "IEC958 Playback Route" to "IEC958 Playback Source" so that
       mixer can handle it properly
   - semaphore -> mutex (PCI part)
     
     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>
   - emu10k1: Add support for Audigy4 (not Pro)
   - Optimize for config without PROC_FS (pci drivers)
     
     Optimize the code when compiled without CONFIG_PROC_FS for some pci drivers.
   - ac97 - Add support of static resolution tables
     
     Added the support of static resolution table support for codecs
     that the driver cannot probe the volume resolution properly.
     
     The table pointer should be set in each codec patch.
   - ac97 - Added a codec patch for LM4550
     From: Charl Coetzee <ccoetzee@interalia.ca>
     
     Added a codec patch for LM4550.  It sets up a static volume resolution
     table.
   - ac97 - Remove duplicated entry in lm4550_restbl
     
     Removed the duplicated entry in lm4550_restbl.
   - ac97 - Fix CLFE channel setting of ALC850
     
     Fix CLFE channel setting of ALC850 (ALSA bug#1731).
   - ac97 - Remove ac9_enum definition from public header
     
     Remove the definition of ac97_enum struct from the public ac97_codec.h.
     It's used only in the module.
     
     The location of struct ac97_pcm is moved closer to its accessor
     to improve readability.
   - Remove xxx_t typedefs: AC97
     
     Remove xxx_t typedefs from the AC97 codec support.
   - ac97-codec - Better ac97_bus name
     
     Generate a better name string for ac97_bus sysfs interface including
     the name of ac97 codec chip.
   - ac97 - NULL check in snd_ac97_suspend/resume
     
     Add NULL check in snd_ac97_suspend() and snd_ac97_resume() so that
     the caller doesn't have to do it by itself.
   - Fix confliction by device_driver wrapper
     
     Fix confliction by device_driver wrapper.
     The patch is regenerated.
   - AC97: Correct Mic Boost label.
   - Add a new quirk for mute-LED and HP-only.
     
     This patch adds a new quirk for ac97 hardware that combines the existing
     AC97_TUNE_MUTE_LED and AC97_TUNE_HP_ONLY quirks.  This is needed for several
     current HP laptops.  Additionally, it adds the HP nx6125 to the
     AC97_TUNE_MUTE_LED list.
     
     Fixed for the latest version of ALSA by Takashi Iwai <tiwai@suse.de>.
     
     Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
   - ac97 - Suppress jack sense controls for Thinkpads
     
     Added a blacklist to suppress to create jack sense controls.
     These controls must be always off on some devices (e.g. Thinkpad).
   - ac97 - Allow drivers to set static volume resolution table
     
     Add the pointer to a static volume resolution table to ac97 template,
     so that the drivers can define the volume resolution, too.
   - ac97 - Clean up obsolete workarounds
     
     Clean up obsolete workarounds provided only for nm256.
 + AD1816A driver
   - [PATCH] PNP: adjust pnp_register_card_driver() signature (bigset)
     
     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>
   - ad1816a - Fix PCM trigger direction
     From: Ken Arromdee <arromdee@rahul.net>
     
     Fixed the bug of capture with Shark Predator ISA resulting in:
     	arecord: pcm_read:1196: read error: Input/output error
   - Remove xxx_t typedefs: ISA AD1816A
     
     Remove xxx_t typedefs from the ISA AD1816A driver.
   - ad1816a - Clean up PnP code
     
     Clean up PnP code of ad1816a driver.
   - Merge ad1816a-lib module to ad1816a
     
     Merge ad1816a-lib module to ad1816.
     There is no more reason to split.
 + AD1848 driver
   - Fix check of enable module option
     
     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.
   - semaphore -> mutex (ISA part)
     
     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>
   - ad1848 double free
     
     Same again, snd_ctl_add() already kfree's on error.
     
     Coverity #956
     Signed-off-by: Dave Jones <davej@redhat.com>
   - Remove xxx_t typedefs: ISA AD1848
     
     Remove xxx_t typedefs from the ISA AD1848 driver.
   - ad1848 - Add PM support
     
     Add PM support to ad1848 support code.
   - ad1848 - Use platform_device, add PM
     
     Rewrite the probe/remove with platform_device.
     Add the PM support, too.
   - continue on IS_ERR from platform device registration
     
     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>
   - unregister platform device again if probe was unsuccessful
     
     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>
   - ad1848 - Fix compilation without CONFIG_PM
     
     Fix compilation without CONFIG_PM.
 + AD1889 driver
   - Use DMA_28BIT_MASK and DMA_32BIT_MASK
     
     Sync with 2.6 git.
     
     This patch introduces the DMA_28BIT_MASK constant in dma-mapping.h
     ALSA drivers using this mask are changed to use the new constant.
     
     Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
   - ad1889 - don't use CVS Id tag - it complicates merging
   - [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK
     
     Replace all occurences of 0xff..  in calls to function pci_set_dma_mask()
     and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK
     from linux/dma-mapping.h.
     
     Signed-off-by: Matthias Gehre <M.Gehre@gmx.de>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Remove xxx_t typedefs: PCI AD1889
     
     Remove xxx_t typedefs from the PCI AD1889 driver.
   - sound/pci/: remove duplicate #include's
     
     There's no reason for #include'ing linux/dma-mapping.h more than once.
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
 + AK4114 receiver
   - Remove xxx_t typedefs: I2C drivers
     
     Remove xxx_t typedefs from the i2c drivers.
   - Remove xxx_t typedefs: I2C drivers
     
     [Missing files in last commit]
     Remove xxx_t typedefs from the i2c drivers.
 + AK4117 receiver
   - Remove xxx_t typedefs: I2C drivers
     
     Remove xxx_t typedefs from the i2c drivers.
   - Remove xxx_t typedefs: I2C drivers
     
     [Missing files in last commit]
     Remove xxx_t typedefs from the i2c drivers.
 + AK4531 codec
   - semaphore -> mutex (PCI part)
     
     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>
   - Optimize for config without PROC_FS (pci drivers)
     
     Optimize the code when compiled without CONFIG_PROC_FS for some pci drivers.
   - Remove xxx_t typedefs: AK4531 codec
     
     Remove xxx_t typedefs from the AK4531 codec support code.
   - ak4531 - Add PM support
     
     Add PM support to AK4531 codec driver.
 + AK4XXX AD/DA converters
   - Remove xxx_t typedefs: I2C drivers
     
     [Missing files in last commit]
     Remove xxx_t typedefs from the i2c drivers.
 + ALI5451 driver
   - ali5451: Add PCI_DEVICE and #defines in snd_ali_ids
     
     This patch uses #defines for the Vendor ID and Device ID and uses the
     new PCI_DEVICE macro.
     
     Signed-off-by: Jon Mason <jdmason@us.ibm.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK
     
     Replace all occurences of 0xff..  in calls to function pci_set_dma_mask()
     and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK
     from linux/dma-mapping.h.
     
     Signed-off-by: Matthias Gehre <M.Gehre@gmx.de>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Remove xxx_t typedefs: PCI ALI5451
     
     Remove xxx_t typedefs from the PCI ALI5451 driver.
   - ali5451 - Fix PM support
     
     Fix PM support on ALI5451 driver.
 + ALS100 driver
   - [PATCH] PNP: adjust pnp_register_card_driver() signature: als100
     
     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>
   - Remove xxx_t typedefs: ISA SB/AD-clone
     
     Remove xxx_t typedefs from the ISA SB/AD-clone drivers
     (als100, azt2320, dt019x, sgalaxy).
   - als100 - Add PM support
     
     Add PM support to als100 driver.
 + ALS4000 driver
   - [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK
     
     Replace all occurences of 0xff..  in calls to function pci_set_dma_mask()
     and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK
     from linux/dma-mapping.h.
     
     Signed-off-by: Matthias Gehre <M.Gehre@gmx.de>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - ALS4000 update
     
     some update for the ALS4000 driver (tested with hardware in my PC):
     
     - use common control names according to ControlNames.txt
     - add some controls (Master Mono, 3D control)
     - optimize struct snd_card_als4000_t layout (performance/size)
     - save some bytes via unified error path
     - constify some read-only data
     - add ToDo list
     - move GPL license text to top
     - add comments
     
     Signed-off-by: Andreas Mohr <andi@lisas.de>
   - Remove xxx_t typedefs: PCI ALS4000
     
     Remove xxx_t typedefs from the PCI ALS4000 driver.
   - als4000 - Add PM support
     
     Add PM support to PCI ALS4000 driver.
 + ALSA sequencer
   - Fix seq_clientmgr dereferences before NULL check
     
     cptr->pool must be non-NULL there, so just the if (cptr->pool) is
     superfluous. Thanks Takashi.
     
     Signed-off-by: Eugene Teo <eugene.teo@eugeneteo.net>
   - seq: remove superfluous fields
     
     None of the fields of struct snd_seq_kernel_client was actually used, so
     remove them.
   - seq: remove struct snd_seq_client_callback
     
     The fields of struct snd_seq_client_callback either aren't used or are
     always set to the same value, so we can get rid of it altogether.
   - seq: set client name in snd_seq_create_kernel_client()
     
     All users of snd_seq_create_kernel_client() have to set the client name
     anyway, so we can just pass the name as parameter.  This relieves us
     from having to muck around with a struct snd_seq_client_info in these
     cases.
   - seq: reorganize sequencer client numbers
     
     Reduce the maximum possible number of global clients to 16 to make
     more numbers available for card clients, and allow dynamically allocated
     card client numbers to share the same range as application client
     numbers to make sure that all 32 cards can be used at the same time.
   - dynamic minors (5/6): reduce maximum number of MIDI devices per card
     
     To allow increasing the maximum number of sound cards, we have to limit
     the number of sequencer clients per card because client numbers are
     still allocated statically.
     
     Reducing the number of clients to four limits the number of sequencer
     MIDI ports to 1024 per card.
   - dynamic minors (6/6): increase maximum number of sound cards
     
     With dynamic minor numbers, we can increase the number of sound cards.
     
     This requires that the sequencer client numbers of some kernel drivers
     are allocated dynamically, too.
   - Optimize for config without PROC_FS (seq and oss parts)
     
     Optimize the code when compiled without CONFIG_PROC_FS (in seq and oss
     emulation parts).
   - Clean up includes in asound.h & asequencer.h
     
     Clean up includes in asound.h and asequencer.h.
   - Remove xxx_t typedefs: Sequencer
     
     Remove xxx_t typedefs from the core sequencer codes.
   - Remove xxx_t typedefs: Sequencer OSS-emulation
     
     Remove xxx_t typedefs from the core sequencer OSS-emulation codes.
   - Remove xxx_t typedefs: Sequencer
     
     Remove xxx_t typedefs from sequencer.
     Patches are regenerated.
   - Remove bogus i_sem
     
     Removed an obsolete code with i_sem.
   - Update patch
     
     Regenerated seq_memory.patch for 2.2 kernels.
   - Fix sleep in atomic in virmidi driver
     
      Debug: sleeping function called from invalid context at /usr/src/linux/include/linux/rwsem.h:43
      in_atomic():1, irqs_disabled():0
       [<f999d15e>] snd_seq_deliver_event+0xb4/0x1a8 [snd_seq]
       [<f999d2be>] snd_seq_kernel_client_dispatch+0x6c/0x7c [snd_seq]
       [<f93321fc>] snd_virmidi_output_trigger+0xca/0xe5 [snd_seq_virmidi]
 + ALSA<-OSS emulation
   - Fix a typo
     
     Fixed a typo.
   - Clean up pcm-oss plugins
     
     Clean up pcm-oss plugin codes.
     Removed dead codes, and simplified route/rate plugins.
   - Fix mulaw -> linear conversion in OSS PCM emulation
     
     Fixed the missing mulaw -> linear conversion in OSS PCM emulation code.
   - Remove bogus use of i_sem in pcm_oss.c
     
     Remove bogus use of i_sem in pcm_oss.c.
     
     Signed-off-by: Ingo Molnar <mingo@elte.hu>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - Regenerated the patch
     
     Added i_sem workaround for 2.2 kernels.
   - semaphore -> mutex (core part)
     
     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>
   - Tiny clean up of PCM codes
     
     - Make snd_pcm_prepare() static
     - Clean up snd_pcm_kernel_*_ioctl() functions, reduce exports
   - Clean up PCM codes (take 2)
     
     - Clean up initialization and destruction of substream instance
       Now snd_pcm_open_substream() alone does most initialization jobs.
       Add pcm_release callback for cleaning up at snd_pcm_release_substream()
     - Tidy up PCM oss code
   - Fix / clean up PCM-OSS setup hooks
     
     - Fix possible race of referring the setup hook from the running PCM
     - Fix memory leak in an error path of proc write
     - Clean up the setup hook parser
   - pcm_oss: fix snd_pcm_oss_release() oops
     
     Fix Oops due to a typo in snd_pcm_oss.c.
     
     Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
   - Fix Oops of PCM OSS emulation
     
     Fix Oops of PCM OSS emulation occuring when multiple playback is used.
   - Handle the error correctly in SNDCTL_DSP_SETFMT ioctl
     
     Handle the error returned from snd_pcm_oss_get_formats() correctly
     in SNDCTL_DSP_SETFMT ioctl handler of PCM OSS emulation.
     
     Signed-off-by: Steven Finney <sfinney@healthhero.com>
   - Optimize for config without PROC_FS (seq and oss parts)
     
     Optimize the code when compiled without CONFIG_PROC_FS (in seq and oss
     emulation parts).
   - Use standard bitmap functions
     
     Use standard bitmap functions instead of in-house ones.
   - Remove xxx_t typedefs: Mixer OSS-emulation
     
     Remove xxx_t typedefs from the core mixer OSS-emulation codes.
   - Remove xxx_t typedefs: PCM OSS-emulation
     
     Remove xxx_t typedefs from the core PCM OSS-emulation codes.
   - Remove xxx_t typedefs: OSS-emulation
     
     Remove xxx_t typedefs from mixer/pcm oss-emulation.
     Patches are regenerated.
 + ALSA<-OSS sequencer
   - seq: remove struct snd_seq_client_callback
     
     The fields of struct snd_seq_client_callback either aren't used or are
     always set to the same value, so we can get rid of it altogether.
   - seq: set client name in snd_seq_create_kernel_client()
     
     All users of snd_seq_create_kernel_client() have to set the client name
     anyway, so we can just pass the name as parameter.  This relieves us
     from having to muck around with a struct snd_seq_client_info in these
     cases.
   - Optimize for config without PROC_FS (seq and oss parts)
     
     Optimize the code when compiled without CONFIG_PROC_FS (in seq and oss
     emulation parts).
   - Fixed patch
     
     Fixed patch for seq_oss.c to follow the last change.
   - Remove xxx_t typedefs: Sequencer OSS-emulation
     
     Remove xxx_t typedefs from the core sequencer OSS-emulation codes.
   - Remove xxx_t typedefs: Sequencer
     
     Remove xxx_t typedefs from sequencer.
     Patches are regenerated.
 + ARM
   - PXA2xx i2Sound: support for Intel PXA2xx I2S audio.
     
     Support for Intel PXA2xx I2S audio.
     
     Signed-off-by: Giorgio Padrin <giorgio@mandarinlogiq.org>
   - Remove SND_GENERIC_DRIVER from arm/Kconfig
     
     Remove the obsolete SND_GENERIC_DRIVER from arm/Kconfig.
 + ARM AACI PL041 driver
   - semaphore -> mutex (Archs, misc buses)
     
     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>
   - Move AMBA include files to include/linux/amba/
     
     Move AMBA include files to include/linux/amba/
   - Remove xxx_t typedefs: ARM AACI
     
     Remove xxx_t typedefs from the ARM AACI driver.
   - Fix PM support
     
     Fix PM support of aaci and pxa2xx drivers.
   - Fix the FIFO size detection
     
     Patch from Catalin Marinas
     
     AACI reports TX FIFO full after the first write to it if the AC97 is not
     enabled. This patch enables the AC97 probing before the check for the TX
     FIFO size. The patch also adds a warning if the TX FIFO size is not
     multiple of 16.
     
     Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
     Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 + ARM DMA routines
   - Remove xxx_t typedefs: ARM AACI
     
     Remove xxx_t typedefs from the ARM AACI driver.
 + ARM PXA2XX driver
   - PXA2xx i2Sound: support for Intel PXA2xx I2S audio.
     
     Support for Intel PXA2xx I2S audio.
     
     Signed-off-by: Giorgio Padrin <giorgio@mandarinlogiq.org>
   - make the pxa2xx-ac97 module more robust against PXA27x bugs
     
     The SDONE and CDONE interrupt on the PXA27x might become unusable in
     some conditions.  Let's use an hybrid approach (interrupt with timeout)
     to have the best possible behavior in all conditions.
     
     Also let's not care about CAR_CAIP anymore.  This is useless.
     
     Signed-off-by: Nicolas Pitre <nico@cam.org>
   - semaphore -> mutex (Archs, misc buses)
     
     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>
   - Remove xxx_t typedefs: ARM PXA2xx
     
     Remove xxx_t typedefs from the ARM PXA2xx driver.
   - Fix PM support
     
     Fix PM support of aaci and pxa2xx drivers.
 + ARM S3C24XX IIS driver
   - Remove xxx_t typedefs: ARM S3C24xx-IIS
     
     Remove xxx_t typedefs from the ARM S3C24xx-IIS driver.
 + ATIIXP driver
   - Optimize for config without PROC_FS (pci drivers)
     
     Optimize the code when compiled without CONFIG_PROC_FS for some pci drivers.
   - Remove superfluous macros
     
     Remove superfluous macros for delay.
     Call appropriate functions directly.
   - Remove xxx_t typedefs: PCI ATIIXP
     
     Remove xxx_t typedefs from the PCI ATIIXP and modem drivers.
   - atiixp - Fix PM support
     
     Fix PM support on ATIIXP and modem drivers.
   - Add a new quirk for mute-LED and HP-only.
     
     This patch adds a new quirk for ac97 hardware that combines the existing
     AC97_TUNE_MUTE_LED and AC97_TUNE_HP_ONLY quirks.  This is needed for several
     current HP laptops.  Additionally, it adds the HP nx6125 to the
     AC97_TUNE_MUTE_LED list.
     
     Fixed for the latest version of ALSA by Takashi Iwai <tiwai@suse.de>.
     
     Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
 + ATIIXP-modem driver
   - Optimize for config without PROC_FS (pci drivers)
     
     Optimize the code when compiled without CONFIG_PROC_FS for some pci drivers.
   - Remove superfluous macros
     
     Remove superfluous macros for delay.
     Call appropriate functions directly.
   - Remove xxx_t typedefs: PCI ATIIXP
     
     Remove xxx_t typedefs from the PCI ATIIXP and modem drivers.
   - atiixp - Fix PM support
     
     Fix PM support on ATIIXP and modem drivers.
 + AZT2320 driver
   - [PATCH] PNP: adjust pnp_register_card_driver() signature: azt2320
     
     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>
   - Remove xxx_t typedefs: ISA SB/AD-clone
     
     Remove xxx_t typedefs from the ISA SB/AD-clone drivers
     (als100, azt2320, dt019x, sgalaxy).
   - azt2320 - Add PM support
     
     Add PM support to azt2320 driver.
 + AZT3328 driver
   - [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK
     
     Replace all occurences of 0xff..  in calls to function pci_set_dma_mask()
     and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK
     from linux/dma-mapping.h.
     
     Signed-off-by: Matthias Gehre <M.Gehre@gmx.de>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Remove xxx_t typedefs: PCI AZT3328
     
     Remove xxx_t typedefs from the PCI AZT3328 driver.
 + Adlib FM driver
   - unregister platform device again if probe was unsuccessful
     
     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>
   - AdLib FM card driver
     From: Rene Herman <rene.herman@keyaccess.nl>
     
     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.
 + Asihpi driver
   - asihpi update
     From: Delio Brignoli <dbrignoli@audioscience.com>
     
     Update of ASIHPI driver by Delio Brignoli:
     
     this patch brings asihpi directory in alsa up to date with our internal
     CVS repo. To be able to maintain ALSA reasonably up to date I've written
     a preprocessor to strip most of the OS related code and generate asihpi
     files automatically from a CVS workdir.
     The code isn't as clean as the version you processed manually but I'm
     happy to clean it further as long as I can automatically generate the
     set of files. It would be great if you could apply the patch and send me
     a list of must-change things.
     
     More additional fixes:
     
     u32/16/8 types instead of HW32/16/8
     stripped HUGE,HFAR,PLONG
     #include "" instead of #include <>
     indent formatted code with options -kr -i8 -ts8 -sob -l80 -ss -ncs
     removed source code generation from Makefile
   - fix compilation on earlier kernels
     
     Fix various bugs in the compatibility code.
   - asihpi - Fix unbalanced spinlocks
     
     Fix unbalanced spin_lock/unlocks
     (Note we have huge changes in the pipeline,  but lets get this hopefully 
     uncontroversial fix in first)
     
     Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
   - Remove xxx_t typedefs: PCI ASIHPI
     
     Remove xxx_t typedefs from the PCI ASIHPI driver.
   - asihpi: fix includes
     
     Pick up dpi56301.h and boot4ka.h from the local directory.
 + Avance Logic ALS300/300+ driver
   - Added a new als300 driver
     From: Ash Willis <ashwillis@programmer.net>
     
     Added als300 driver by Ash Willis <ashwillis@programmer.net>:
     
     This is a patch to add Avance Logic ALS300 and ALS300+ support.
     It covers playback and capture but legacy devices are not yet implemented.
   - als300 - Add PM support
     
     Add experimental PM support to als300 driver.
   - Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards
     From: Ash Willis <ashwillis@programmer.net>
     
     Added snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards
     by Ash Willis.
   - Move snd-als300 to alsa-kernel
     
     Move snd-als300 to alsa-kernel tree.
 + BT87x driver
   - fix compilation on 2.2 kernels
     
     Fix an oversight in the last bt87x patch that would prevent
     compilation on 2.2 kernels.
   - bt87x: add more DVB card IDs
     
     Add more PCI subsystem IDs of DVB cards to the blacklist of cards the
     driver is to ignore.
   - bt87x - Fix the unability of snd-bt87x to recognize AVerMedia Studio
     
     The patch siply adds the PCI IDs of AVerMedia Studio No. 103, 203,
     and possibly even other versions with the same PCI IDs to the snd-bt87x
     driver and sets its default sampling rate to 48 kHz.
     
     Signed-off-by: Martin Drab <drab@kepler.fjfi.cvut.cz>
   - bt87x - fix detection of unknown card
   - bt87x - fixed driver patch
   - Remove xxx_t typedefs: PCI BT87x
     
     Remove xxx_t typedefs from the PCI BT87x driver.
   - 2.6-git-sync: Fix PCI ids in bt87x.c
     
     Fix PCI ids in bt87x.c, which was missing in the last sync with git tree.
   - bt848 - added Leadtek Winfast tv 2000xp delux to whitelist
     
     - added 0x107d:0x6606 to whitelist
     - print also the pci device ID for developers when model is not known
   - sync with alsa-devel
 + CA0106 driver
   - snd-ca0106: update SPDIF to IEC958 in mixer control names.
   - snd-ca0106: Fixed ALSA bug#1600
     
     Description:
     Shuttle XPC SD11G5 which has an onboard Creative Labs
     Sound Blaster Live! 24-bit EAX
     high-definition 7.1 audio processor".
     Fixes ALSA bug#1600
   - ca0106: Add analog capture controls.
   - ca0106: Fixes MSI K8N's SB Live 24 bit, no sound from line-in.
     
     Fixed bug#1331
   - Optimize for config without PROC_FS (pci drivers)
     
     Optimize the code when compiled without CONFIG_PROC_FS for some pci drivers.
   - ca0106 - Code clean up
     
     Clean up snd-ca0106 driver code:
     
     - Fix spaces and indents
     - Remove unnecessary spinlocks
     - Clean up the mixer callbacks using private_value
     - Clean up mixer constructors using an array
   - Remove xxx_t typedefs: PCI CA0106
     
     Remove xxx_t typedefs from the PCI CA0106 driver.
   - snd-ca0106: Fixes sound output for Creative Audigy SE aka.SB0570.
     
     Fixes ALSA bug#1636
   - snd-ca0106: Fix SPI driver code. Fixes speaker output.
 + CMI8330 driver
   - ISA drivers bailing on first !enable[i]
     From: Rene Herman <rene.herman@keyaccess.nl>
     
     Fix the wrong check of enable option in cmi8330 driver.
   - [PATCH] PNP: adjust pnp_register_card_driver() signature: cmi8330
     
     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>
   - Remove xxx_t typedefs: ISA CMI8330
     
     Remove xxx_t typedefs from the ISA CMI8330 driver.
   - cmi8330 - Use platform_device, add PM support
     
     Rewrite the probe/remove with platform_device.
     Also, add the PM support.
   - continue on IS_ERR from platform device registration
     
     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>
   - unregister platform device again if probe was unsuccessful
     
     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>
   - Fix compilation without CONFIG_PNP
     
     Fix compilation of some ISA drivers without CONFIG_PNP.
 + CMIPCI driver
   - Remove xxx_t typedefs: PCI CMIPCI
     
     Remove xxx_t typedefs from the PCI CMIPCI driver.
   - cmipci - Add PM support
     
     Add PM support to CMIPCI driver.
 + CREDITS file
   - Sync with 2.6 GIT tree
   - 2.6 kernel sync
     
   - Keep non-ALSA kernel files
     
     Keep non-ALSA kernel files in kernel subdirectory to sync and make
     patches easily.  MAINTAINERS is moved to this directory, too.
   - Add support for the CS5535 Audio device
     
     Add support for the CS5535 Audio device.  I've fixed up some errors as per
     Takashi's advice from the thread:
     
     http://lkml.org/lkml/2005/9/15/119
     
      From: Alan Cox <alan@lxorguk.ukuu.org.uk>
     
             cs5535 is a 32bit x86 only device using weird CPU features
     
     Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - sync with recent 2.6
 + CS4231 driver
   - Fix a compile warning
     
     Fix a compile warning (unused variable).
   - Fix check of enable module option
     
     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.
   - semaphore -> mutex (ISA part)
     
     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>
   - Clean up ISA cs4231 code
     
     Clean up ISA cs4231 code, removing experimental EBUS/SBUS merge,
     to improve readability.
   - Remove xxx_t typedefs: ISA CS423x
     
     Remove xxx_t typedefs from the ISA CS423x drivers.
   - cs4231 - Fix PM support
     
     Fix PM support.
   - cs4231 - Use platform_device
     
     Rewrite the probe/remove with platform_device.
   - Fix resume of cs4231
     
     Use mce_down() again in the resume callback.
   - Add CS4232 PnP BIOS support
     
     Add CS4232 PnP BIOS support.  Still experimental.
   - continue on IS_ERR from platform device registration
     
     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>
   - unregister platform device again if probe was unsuccessful
     
     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>
 + CS4236+ driver
   - Fix check of enable module option
     
     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.
   - cs4236 - Fix a typo
     
     Fixed a typo in snd_cs4236_put_master_digital(), resulting in silence
     right channel.
   - semaphore -> mutex (ISA part)
     
     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>
   - cs4236 - Add PnP ids for Netfinity 3000
     From: Lukasz Stemach <stelmacl@ee.pw.edu.pl>
     
     PnP ids for Netfinity 3000 builtin soundcard.
     
     This one works for me.
     
     This patch was submitted through kernel Bugzilla #4214.
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - cs4232/cs4236 - moved CS423X_DRIVER define outside CONFIG_PNP
   - [PATCH] PNP: adjust pnp_register_card_driver() signature (bigset)
     
     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>
   - Remove xxx_t typedefs: ISA CS423x
     
     Remove xxx_t typedefs from the ISA CS423x drivers.
   - cs4236 - Use platform_device
     
     Rewrite the probe/remove with platform_device.
   - Add CS4232 PnP BIOS support
     
     Add CS4232 PnP BIOS support.  Still experimental.
   - continue on IS_ERR from platform device registration
     
     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>
   - cs4236 - Fix wrong initialization of MPU401 PnP
     From: Rene Herman <rene.herman@keyaccess.nl>
     
     I noticed on 2.6.16-rc4 that my MPU-401 wasn't functional, due to a
     simple copy & paste error in sound/isa/cs423x/cs4236.c.
   - Fix compilation without CONFIG_PNP
     
     Fix compilation of some ISA drivers without CONFIG_PNP.
 + CS4281 driver
   - cs4281 - Clean up delay function
     
     Remove the own delay function.
     Call appropriate functions directly.
   - Remove xxx_t typedefs: PCI CS4281
     
     Remove xxx_t typedefs from the PCI CS4281 driver.
   - cs4281 - Fix PM support
     
     Fix PM support on CS4281 driver.
   - cs4281 - Fix the check of right channel
     
     Fix the check of right channel in mixer volume put callback.
   - cs4281 - Fix the check of timeout in probe
     
     Fix the check of timeout in probe routines to work properly
     reagrdless of HZ (ALSA bug#1976).
 + CS46xx driver
   - semaphore -> mutex (PCI part)
     
     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>
   - Remove xxx_t typedefs: PCI CS46xx
     
     Remove xxx_t typedefs from the PCI CS46xx driver.
   - cs46xx - Fix PM support
     
     Fix PM support on CS46xx driver.
   - Fix a typo in snd_assert()
     
     Reported by <dcb314@hotmail.com> in
     http://bugzilla.kernel.org/show_bug.cgi?id=5903
     
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - fix some memory leaks
     
     This patch fixes two memory leaks spotted by the Coverity checker.
     
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
 + CS5535 driver
   - CS5535: shorter delays when accessing AC'97 codec registers
     
     The 10 ms sleeps while waiting for AC'97 codec register reads/writes to
     complete are excessive given the maxmium time is one AC'97 frame (~21 us).
     
     With AC'97 codecs with integrated touchscreens (like the UCB1400) this
     improves the interactive performance of the touchscreen.
     
     Signed-off-by: David Vrabel <dvrabel@arcom.com>
   - cs5535audio: move sound/driver.h to the top
     
     Move the #include of <sound/driver.h> to the top which is
     required for compilation on earlier kernels.
   - AMD cs5536 ID for cs5535audio
     
     Added AMD CS5536 to the cs5535audio driver.
     
     Signed-off-by: Rene Rebe <rene@exactcode.de>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - Use pci_register() for cs5535audio
     
     Use pci_register() instead of module_init() in cs5535audio driver.
   - Add support for the CS5535 Audio device
     
     Add necessary files to build cs5535audio driver in alsa-driver tree.
   - Minor clean up and fixes for CS5535 audio driver
     
     Minor clean up and fixes for CS5535 audio driver.
     Added an entry in ALSA-Configuration.txt, too.
   - Remove xxx_t typedefs: PCI CS5535
     
     Remove xxx_t typedefs from the PCI CS5535 driver.
 + CX88 driver
   - Added more files including ALSA codes
     
     Added more files including ALSA codes from 2.6.15-git tree.
   - Fix snd_xxx_t typedefs
     
     Replace snd_xxx_t typedefs with explicit structs.
   - 2.6 kernel sync
     
   - Sync with current 2.6 code
   - sync with recent 2.6
 + Common EMU synth
   - semaphore -> mutex (driver part)
     
     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>
   - emux - Avoid cast of function pointers
     
     Pass the proper functions instead of cast of function pointers, which
     can be dangerous with compiler optimizations.
   - Remove xxx_t typedefs: Emu-X synth
     
     Remove xxx_t typedefs from the Emu-X synth support.
 + Conexant Riptide driver
   - Clean up include files
     
     Clean up unnecesasry include files.
   - Add snd-riptide driver for Conexant Riptide chip
     From: Peter Gruber <nokos@gmx.net>
     
     Add snd-riptide driver for Conexant Riptide chip by Peter Gruber.
   - Move riptide driver to alsa-kernel
     
     Move riptide driver to alsa-kernel.
   - Remove xxx_t typedefs: PCI Riptide
     
     Remove xxx_t typedefs from the PCI Riptide driver.
     Also, code clean up is done.
   - riptide - Fix PM support
     
     Fix PM support on riptide driver.
   - Fix compilation of riptide driver with 2.4 kernels
   - Fix/update riptide driver
     From: nokos <nokos@gmx.net>
     
     - better handling of firmware load
     - hw_prepare works again
     - some more debugging output
     - fix white spaces
   - Remove superfluous pcm_free callbacks
     
     Remove superflous pcm_free callbacks.
 + DT019x driver
   - [PATCH] PNP: adjust pnp_register_card_driver() signature (bigset)
     
     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>
   - Remove xxx_t typedefs: ISA SB/AD-clone
     
     Remove xxx_t typedefs from the ISA SB/AD-clone drivers
     (als100, azt2320, dt019x, sgalaxy).
   - dt019x - Add PM support
     
     Add PM support to dt019x driver.
 + Digigram PCXHR driver
   - pcxhr - Fix printk warning
     
     sound/pci/pcxhr/pcxhr.c: In function `pcxhr_update_r_buffer':
     sound/pci/pcxhr/pcxhr.c:460: warning: unsigned int format, different type arg (arg 7)
     
     
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - [ALSA] pcxhr - Fix the crash with REV01 board
     
     On a new board revision for pcxhr boards, the
     PCXHR_CHIPSC_GPI_USERI bit is no more supported.
     The cards concerned have a REV01 in their PCI ID.
     
     As the current driver tests this bit and does not load the
     first Xilinx binary when it's 1, the card will crash on Xilinx
     access over PCI. (the PCI will freeze ....)
     
     The fix (fix to version 1.0.11rc4) works for both REV00 and
     REV01 cards.
     
     Signed-off-by: Takashi Iwai <tiwai@suse.de>
   - Remove xxx_t typedefs: PCI PCXHR
     
     Remove xxx_t typedefs from the PCI PCXHR driver.
     Also, code clean up is done.
   - Add PCXHR driver
     From: Markus Bollinger <bollinger@digigram.com>
     
     Add Digigram PCXHR driver.
   - Move PCXHR driver to alsa-kernel
     
     Moved PCXHR driver to alsa-kernel.
   - pcxhr - Fix the sample rate changes
     
     Fix the hardware set up when the sample rate is changed multiple times.
   - pcxhr - Suppress debug messages
     
     Suppress debug messages.
 + Digigram VX Pocket driver
   - semaphore -> mutex (Archs, misc buses)
     
     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>
   - [PATCH] 2.6 kernel sync: pcmcia: a lot of changes
     
     Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
   - Fix build of pcmcia drivers on 2.6.16 kernel
     
     Fix build of pcmcia drivers on 2.6.16 kernel.
     Some incompatibilities hit again on 2.6.17rc1.
   - Remove snd_vx_delay() function
     
     Replace snd_vx_delay() with appropriate delay/sleep functions.
   - Remove xxx_t typedefs: VXdriver
     
     Remove xxx_t typedefs from the VXdriver codes
     (vx_core support, vx222 and vxpocket).
   - vx-driver - Fix PM support
     
     Fix PM support on VX drivers (vxpocket and vx222).
   - 2.6-sync: Sync with 2.6.16rc1
     
     Sync with 2.6.16rc1.
   - Fix compilation for older kernels
     
     Fix compilation for older kernels.
   - vxpocket - Fix a typo
     
     Fix a typo of return value from vxpocket_config().
 + Digigram VX core
   - semaphore -> mutex (driver part)
     
     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>
   - vx - Fix memory leak on error path
     
     Noticed by Eric Sesterhenn on kernel-janitors@
     
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - no need to check pointers passed to vfree() for NULL
     
     There's no need to check pointers passed to vfree() for NULL.
     
     Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
   - Remove snd_vx_delay() function
     
     Replace snd_vx_delay() with appropriate delay/sleep functions.
   - Remove xxx_t typedefs: VXdriver
     
     Remove xxx_t typedefs from the VXdriver codes
     (vx_core support, vx222 and vxpocket).
   - vx-driver - Fix PM support
     
     Fix PM support on VX drivers (vxpocket and vx222).
 + Digigram VX222 driver
   - Remove snd_vx_delay() function
     
     Replace snd_vx_delay() with appropriate delay/sleep functions.
   - Remove xxx_t typedefs: VXdriver
     
     Remove xxx_t typedefs from the VXdriver codes
     (vx_core support, vx222 and vxpocket).
   - vx-driver - Fix PM support
     
     Fix PM support on VX drivers (vxpocket and vx222).
 + Documentation
   - Update description of ice1724 driver
     
     Updated the description of ice1724 driver.
   - Add the notes on PM to ens1370/ens1371 sections
     
     Add the notes on PM to ens1370/ens1371 sections.
   - fix typos in writing-an-alsa-driver
     
     Fixed typos in writing-an-alsa-driver document.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - hda-codec - Add lg model for LG laptop
     
     Added a new model "lg" for LG laptop (m1 express dual) with ALC880 codec.
     Also clean up the initialization/unsol_event hooks in patch_realtek.c.
   - hda-codec - Fix for Samsung R65 and ASUS A6J
     
     Added a new model "laptop-eapd" to AD1986A codec for Samsung R65 and
     ASUS A6J laptops.
   - Fix a typo
     
     2.6.15-git sync: Fixed a typo "strut"
   - hda-codec - Fix support of laptops with AD1986A codec
     
     Fix the support of laptops with AD1986A HD-audio codec.
     Added new models "3stack" and "laptop".  Currently, fixed for FSC V2060
     and Samsung M50.
     
     Also fixed the description of missing models in ALSA-Configuration.txt.
   - Add snd-miro driver
     From: Martin Langer <martin-langer@gmx.de>
     
     Added snd-miro driver for miroSOUND PCM by Martin Langer.
   - Add snd-riptide driver for Conexant Riptide chip
     From: Peter Gruber <nokos@gmx.net>
     
     Add snd-riptide driver for Conexant Riptide chip by Peter Gruber.
   - Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards
     From: Ash Willis <ashwillis@programmer.net>
     
     Added snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards
     by Ash Willis.
   - 2.6 kernel sync: small patches
   - hda-intel - Add single_cmd option for debugging
     
     Added single_cmd module option for debugging in the case CORB/RIRB
     doesn't work well (e.g. due to wrong irq routings).
   - Fix typos in document
     
     Fixed typos in document.
   - hda-codec - Add support for VAIO FE550G and SZ110
     
     Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661).
     The new model "vaio" is added.
   - Add support of LG LW20 laptop
     
     Add support of LG LW20 laptop with ALC880 codec (ALSA bug#1572).
   - Minor clean up and fixes for CS5535 audio driver
     
     Minor clean up and fixes for CS5535 audio driver.
     Added an entry in ALSA-Configuration.txt, too.
   - [Trivial] Fix ac97_quirk option in document
     
     Fix a wrong option value for ac97_quirk option in the document.
   - Small update of Procfile.txt
     
     Small update of Procfile.txt for hda and usb proc files.
   - Remove xxx_t typedefs: Documentation
     
     Remove xxx_t typedefs from documentation.
   - document - Add PM support
     
     Mark the drivers newly supporting PM in the documentation.
   - document - Update PM support
     
     Update the description about the PCI PM support.
   - hda-codec - Add Thinkpad X60/T60/Z60 support
     
     Added the support for Thinkpad X60/T60/Z60 laptops with AD1981HD codec.
   - Fix typos and add information about Jack support to Audiophile-Usb.txt
     
     Signed-off-by: Charis Kouzinopoulos <kouzinopoulos@gmail.com>
     Signed-off-by: Thibault Le Meur <Thibault.LeMeur@supelec.fr>
   - Add PCXHR driver
     From: Markus Bollinger <bollinger@digigram.com>
     
     Add Digigram PCXHR driver.
   - intel8x0 - Add MCP51 PCI ID
     
     Added MCP51 PCI ID to intel8x0 driver.
     Also, updated the supported chips in documentation.
   - Fixes audiophile usb analog capture with the new device_setup parameter
     
     The patch adds the "device_setup" module parameter and a specific
     quirk to correctly initialize the audiophile usb device: this fixes
     the distorted sound bug on the Analog capture port. Backward
     compatibility is achieved by simply omitting the new parameter.
     
     Signed-off-by: Thibault LE MEUR <Thibault.LeMeur@supelec.fr>
   - Fixes typos in Audiophile-USB.txt
     
     Fixes typos in Audiophile-USB.txt.
     
     Signed-off-by: Thibault LE MEUR <Thibault.LeMeur@supelec.fr>
   - Update description of hda-intel models
     
     Updated the description of hda-intel models for realtek codecs.
 + EMU10K1/EMU10K2 driver
   - Use DMA_28BIT_MASK and DMA_32BIT_MASK
     
     Sync with 2.6 git.
     
     This patch introduces the DMA_28BIT_MASK constant in dma-mapping.h
     ALSA drivers using this mask are changed to use the new constant.
     
     Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
   - emu10k1 - Fix missing declarations
     
     sound/pci/emu10k1/emufx.c: In function 'snd_emu10k1_efx_alloc_pm_buffer':
     sound/pci/emu10k1/emufx.c:2402: error: implicit declaration of function 'vmalloc'
     sound/pci/emu10k1/emufx.c:2402: warning: assignment makes pointer from integer without a cast
     sound/pci/emu10k1/emufx.c: In function 'snd_emu10k1_efx_free_pm_buffer':
     sound/pci/emu10k1/emufx.c:2413: error: implicit declaration of function 'vfree'
     
     Signed-off-by: Andreas Schwab <schwab@suse.de>
   - snd-emu10k1: Add new SB Live 5.1 PCI-ID.
   - semaphore -> mutex (PCI part)
     
     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>
   - emu10k1 - Add the entry for Audigy4 SB0400
     
     Added the missing card entry for Audigy4 SB0400 model.
   - emu10k1_synth use after free
     
     Thou shalt not dereference freed memory.
     
     Coverity bug #958
     
     Signed-off-by: Dave Jones <davej@redhat.com>
   - snd-emu10k1: Correct control names for Audigy 4 Pro.
   - emu10k1: Add support for Audigy4 (not Pro)
   - Add p17v.h file.
   - emu10k1: Add some descriptive text.
   - emu10k1: Partial support for Creative emu1212m
     
     Distorted sound now comes from the Audio Out socket. Still more work to do.
   - snd-emu10k1: Add some comments regarding chip types.
   - snd-emu10k1: Add comments regarding chips present on the card.
   - emu10k1 - Clean up p16v code
     
     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
   - emu10k1 - Fix the confliction of "Front" control
     
     Fix the confliction of "Front" controls on models with STAC9758 codec.
   - move capable() to capability.h
     
     Add include <linux/capability.h>.
   - emu10k1x - Minor clean up
     
     Minor clean up of the emu10k1x interrupt handler code.
   - emu10k1 - Minor clean up of memory block handling
     
     Minor clean up of emu10k1 memory block allocation.
   - Remove xxx_t typedefs: PCI emu10k1
     
     Remove xxx_t typedefs from the PCI emu10k1 driver.
   - Remove xxx_t typedefs: PCI emu10k1x
     
     Remove xxx_t typedefs from the PCI emu10k1x driver.
   - emu10k1 - Add PM support
     
     Add PM support to emu10k1 driver.
   - sound/pci/: remove duplicate #include's
     
     There's no reason for #include'ing linux/dma-mapping.h more than once.
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - emu10k1 - Add entry for SB Live 5.1 Digital OEM [SB0220]
     
     Added the chip-detail entry for SB Live 5.1 Digital OEM [SB0220, (c) 2003].
     
     Signed-off-by: Gergely Tamas <dice@mfa.kfki.hu>
   - snd-emu10k1: Removes some distortion from Audigy 2 ZS Notebook.
     
     Description:
     Part way to fix ALSA bug#927
     Add support for the SPI interface on the CA0108 chip.
     This is used to control the registers on the DAC.
     Headphone output tested.
     Other outputs and Capture not tested yet.
     Note: The red LED does not come on, but sound is still OK.
   - snd-emu10k1: Enable speakers on Audigy 2 ZS Notebook.
     
     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.)
   - snd-emu10k1: Fix whitespace.
   - snd-emu10k1: Tidy SPI code.
   - emu10k1 - Fix silence problems after suspend
     
     Fix silence problems on some boards after suspend/resume (bug#1674).
 + EMU8000 driver
   - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE
     
     Remove xxx_t typedefs from the ISA SB8/SB16/SBAWE drivers.
 + ENS1370/1+ driver
   - ens1371: added spdif and lineio module options
     
     - spdif module option: some hardware revisions are without spdif output
     - lineio module option: force shared line in / rear out jack settings
   - ens1370 - Fix resume
     
     Fix resume of ens1370 driver.
   - Remove xxx_t typedefs: PCI ENS137x
     
     Remove xxx_t typedefs from the PCI ENS137x drivers.
   - ens137x - Fix and ADD PM support
     
     Fix PM support on ens1371 driver.
     Add PM support on ens1370 (together with AK4531), too.
   - ens1371: fix compilation without SUPPORT_JOYSTICK
     
     Move the spdif and lineio parameters around so that they are compiled
     even when SUPPORT_JOYSTICK isn't set.
   - Fix missing suspend/resume-code for ens1371
     
     This patch fixes missing suspend/resume-code for snd-ens1371
     (but not for snd-ens1370)
     
     Signed-off-by: Kurt J. Bosch <kjb-temp-2005@gmx.de>
 + ES1688 driver
   - Remove xxx_t typedefs: ISA ES1688
     
     Remove xxx_t typedefs from the ISA ES1688 driver.
   - es1688 - Use platform_device
     
     Rewrite the probe/remove with platform_device.
   - continue on IS_ERR from platform device registration
     
     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>
 + ES18xx driver
   - #1/4 for Zoom Video - resolve common vs chipset specific mixer controls
     
     First of 4 es18xx.c patches culminating in Zoom Video support.
     While adding support for Zoom Video to the es18xx driver I found some of
     the mixer controls
     were wrong. Since you guys went to the trouble of supplying the
     datasheets for the supported
     chipsets I did a review of all of them and tried to get es18xx.c to
     accurately reflect the
     proper mixer controls for each chipset. If the datasheets are wrong then
     so are my patches.
     
     This first patch moves some controls from the common-to-all-chipsets array
     'snd_es18xx_base_controls' to a chipset-specific array and adds code to
     manage that new array.
     Also while testing on my ES1878 test machine I discovered it needed a
     couple of udelays in
     the identify function so those are in this patch as well.
     
     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>
   - #2/4 for Zoom Video - resolve number of record sources
     
     Second of 4 es18xx.c patches culminating in Zoom Video support.
     
     This patch changes the 'record source' mux routines to reflect the fact
     that not all of the
     supported chipsets have 8 possible inputs. Some have 4 and some have 5.
     
     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>
   - #3/4 for Zoom Video - change Hardware Volume interrupt handling
     
     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>
   - #4/4 for Zoom Video - add Zoom Video support
     
     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>
   - [PATCH] PNP: adjust pnp_register_card_driver() signature (bigset)
     
     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>
   - Remove xxx_t typedefs: ISA ES18xx
     
     Remove xxx_t typedefs from the ISA ES18xx driver.
   - es18xx - Use platform_device
     
     Rewrite the probe/remove with platform_device.
   - fix some memory leaks
     
     This patch fixes two memory leaks spotted by the Coverity checker.
     
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - Fix compilation without CONFIG_PNP
     
     Fix compilation of some ISA drivers without CONFIG_PNP.
 + ES1938 driver
   - Remove xxx_t typedefs: PCI ES1938
     
     Remove xxx_t typedefs from the PCI ES1938 driver.
   - es1938 - Fix PM support
     
     Fix PM support on ES1938 driver.
 + ES1968 driver
   - Use DMA_28BIT_MASK and DMA_32BIT_MASK
     
     Sync with 2.6 git.
     
     This patch introduces the DMA_28BIT_MASK constant in dma-mapping.h
     ALSA drivers using this mask are changed to use the new constant.
     
     Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
   - es1968 - Remove inline from some functions
     
     2.6.15-git sync: Remove inline from some fucntions to reduce the code size
   - Remove xxx_t typedefs: PCI ES1968
     
     Remove xxx_t typedefs from the PCI ES1968 driver.
   - es1968 - Fix PM support
     
     Fix PM support on ES1968 driver.
   - sound/pci/: remove duplicate #include's
     
     There's no reason for #include'ing linux/dma-mapping.h more than once.
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - es1968 - Fix conflict with ISA boards
     From: Rene Herman <rene.herman@keyaccess.nl>
     
     Fix disablement of TDMA and legacy support to prevent confliction of
     resources with ISA boards.  Confirmed with Terratec DMX and CS4236.
 + ES968 driver
   - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE
     
     Remove xxx_t typedefs from the ISA SB8/SB16/SBAWE drivers.
   - es968 - Add PM support
     
     Add PM support to es968 driver.
 + Echoaudio driver
   - Echoaudio - new firmware
     
     This patchset adds support for the new firmware for "3G" cards. It fixes
     clicks/pops during simultaneous audio and midi i/o and it uses the same DSP
     firmware for both the Gina3G and the Layla 3G.
     
     I announced this patch two months ago asking for someone to test it on a
     Layla3G, but nobody cared. I tested it a lot on the Gina3G. The patch is
     against the latest anonymous CVS version.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - echoaudio - xxx_t --> struct xxx
     
     Remove xxx_t typedefs (plus a few other minor changes).
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - echoaudio - minor changes (1/4)
     
     Remove some dead code (Indigo's don't have S/PDIF connectors).
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - echoaudio - minor changes (2/4)
     
     Fix wrong comments.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - echoaudio - minor changes (3/4)
     
     The latest firmware for the Gina3G hasn't input nominal level controls
     anymore. This patch removes them.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - echoaudio - minor changes (4/4)
     
     Check for more error conditions during hw init, expecially
     when debugging is enabled.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - echoaudio, C++ comments fix
     
     This patch removes a lot of trivial and useless comments and fixes the
     style of the rest. No real code lines are changed.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - echoaudio - trivial patch
     
     This patch uses more consistent names for struct audiopipe and it splits
     a few exagerately long lines.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - echoaudio - Add missing module_param*()
     
     Added missing module_param_array() and MODULE_PARM_DESC().
   - echoaudio, ADAT mode sample rate fix
     
     The sample rate in ADAT mode must be limited at 48KHz, even if we are
     using an analog channel. (also remove old usess commented out code)
     
     Signed-off-by: Giulaino Pochini <pochini@shiny.it>
 + FM801 driver
   - Remove xxx_t typedefs: PCI FM801
     
     Remove xxx_t typedefs from the PCI FM801 driver.
   - fm801 - Add PM support
     
     Add PM support to fm801 driver.
 + GUS Classic driver
   - Remove xxx_t typedefs: ISA GUS
     
     Remove xxx_t typedefs from the ISA GUS drivers.
   - gus - Use platform_device
     
     Rewrite the probe/remove with platform_device.
   - Fix adding second dma channel
     
     dma2 is a global array. sprintf below suggests there was a typo.
     
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
 + GUS Extreme driver
   - Remove xxx_t typedefs: ISA GUS
     
     Remove xxx_t typedefs from the ISA GUS drivers.
   - gus - Use platform_device
     
     Rewrite the probe/remove with platform_device.
 + GUS Library
   - Fix gus_pcm dereference before NULL
     
     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>
   - seq: remove struct snd_seq_client_callback
     
     The fields of struct snd_seq_client_callback either aren't used or are
     always set to the same value, so we can get rid of it altogether.
   - seq: set client name in snd_seq_create_kernel_client()
     
     All users of snd_seq_create_kernel_client() have to set the client name
     anyway, so we can just pass the name as parameter.  This relieves us
     from having to muck around with a struct snd_seq_client_info in these
     cases.
   - semaphore -> mutex (ISA part)
     
     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>
   - [Trivial] Fix spaces in gus.h
     
     Fix spaces in gus.h.
   - Remove xxx_t typedefs: ISA GUS
     
     Remove xxx_t typedefs from the ISA GUS drivers.
 + GUS MAX driver
   - Remove xxx_t typedefs: ISA GUS
     
     Remove xxx_t typedefs from the ISA GUS drivers.
   - gus - Use platform_device
     
     Rewrite the probe/remove with platform_device.
 + Generic drivers
   - Fix possible races in timer callbacks
     
     Fix possible races in timer callbacks.
   - serialmidi - Fix hang-up with recent kernels
     
     Fix hang-up with recent kernels.  The API of write callback was changed.
   - serialmidi - Use platform_device
     
     Rewrite serialmidi.c using platform_device.
   - Fix check of enable module option
     
     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.
   - serial-uart16550 - Fix a compile warning
     
     Fix a gcc-4.1 compile warning regarding uninitialized variables.
   - Replace semaphore with mutex
     
     Replace semaphore with mutex.
   - dynamic minors (5/6): reduce maximum number of MIDI devices per card
     
     To allow increasing the maximum number of sound cards, we have to limit
     the number of sequencer clients per card because client numbers are
     still allocated statically.
     
     Reducing the number of clients to four limits the number of sequencer
     MIDI ports to 1024 per card.
   - continue on IS_ERR from platform device registration
     
     I previously only concerned myself with sound/isa. When I now checked
     for more platform_device_register_simple() usages in ALSA I found a
     couple more drivers that needed the same patches as already submitted
     for all the ISA drivers.
     
     This first one is the continue-on-iserr patch for sound/drivers. This
     gets them all.
     
     Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
   - unregister platform device again if probe was unsuccessful
     
     This second one unregisters the platform device again when the probe is
     unsuccesful for sound/drivers, sound/arm/sa11xx-uda1341.c and
     sound/ppc/powermac.c. This gets them all.
     
     Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
   - snd-dummy - Code clean-up
     
     Clean up snd-dummy driver code.
     - Make common PCM callbacks
     - Simplify open callback
     - Remove unnecessary irqsave in control callbacks
   - Remove xxx_t typedefs: Generic drivers
     
     Remove xxx_t typedefs from the generic drivers
     (dummy, mtpav, serial-u16550 and virmidi).
   - Remove xxx_t typedefs: PC-Speaker
     
     Remove xxx_t typedefs from PC-Speaker driver.
   - Remove xxx_t typedefs: ALoop
     
     Remove xxx_t typedefs from the ALoop driver.
   - Remove xxx_t typedefs: Serial MIDI
     
     Remove xxx_t typedefs from the serial MIDI driver.
   - Remove xxx_t typedefs: Portman2x4
     
     Remove xxx_t typedefs from the Portman2x4 driver.
   - dummy - Use platform_device
     
     Rewrite the probe/remove code using platform_device.
     Added the suspend/resume support, too.
   - mtpav - Use platform_device
     
     Rewrite the probe/remove code using platform_device.
   - serial-u16550 - Use platform_device
     
     Rewrite the probe/remove code using platform_device.
   - virmidi - Use platform_device
     
     Rewrite the probe/remove code using platform_device.
   - Remove SND_GENERIC_DRIVER from drivers/Kconfig
     
     Remove SND_GENERIC_DRIVER from drivers/Kconfig.
   - serialmidi - Remove snd_card_generic_set_dev()
     
     Remove the obsolete snd_card_generic_set_dev().
   - dummy driver - added CA0106 emulation defines
   - fix some memory leaks
     
     This patch fixes two memory leaks spotted by the Coverity checker.
     
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - sound: align device drivers menus
     
     AC97 Kconfig entries broke the ALSA device drivers menu, so move them to a
     location where that won't happen, enabling all device sub-menus to be
     presented together.
     
     Fixed for the latest ALSA tree by Takashi Iwai <tiwai@suse.de>.
     
     Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
   - Update of PC-speaker driver
     From: Stas Sergeev <stsp@aknet.ru>
     
     Update PC-Speaker driver using a new hook.
     A new patch is provided, too.
   - Remove superfluous pcm_free callbacks
     
     Remove superflous pcm_free callbacks.
 + HAL2 driver
   - Remove xxx_t typedefs: HAL2
     
     Remove xxx_t typedefs from the HAL2 driver.
 + HDA Codec driver
   - hda-codec - Add model entry for Shuttle ST20G5
     
     Added the model entry for Shuttle ST20G5.
   - hda-codec - Fix capture on Sigmatel STAC92xx codecs
     
     Added the missing "Capture Switch" control for Sigmatel STAC92xx codecs.
   - patch_realtek.c: Add new model
     
     This little patch add the model for the motherboard K8N51 from Gigabyte
     to the known models of ALC boards.
     
     Signed-off-by: Arnaud Patard <apatard@mandriva.com>
   - hda-codec - Add lg model for LG laptop
     
     Added a new model "lg" for LG laptop (m1 express dual) with ALC880 codec.
     Also clean up the initialization/unsol_event hooks in patch_realtek.c.
   - hda-codec - Fix for Samsung R65 and ASUS A6J
     
     Added a new model "laptop-eapd" to AD1986A codec for Samsung R65 and
     ASUS A6J laptops.
   - hda-codec - support HP Compaq Presario B2800 laptop with AD1986A codec
     
     This adds the support for HP Compaq Presario B2800 laptop with AD1986A codec.
     
     Signed-off-by: Coywolf Qi Hunt <qiyong@freeforge.net>
   - hda-codec - Adds HDA support for Intel D945Pvs board with subdevice id 0x0707
     
     This patch adds the entry for the 5-stack pin-config for the STAC  
     chip on the Intel D945Pvs board with subdevice id 0x0707.
     
     With this patch against 1.0.11rc4 in the linux kernel 2.6.17-rc1, I'm  
     able to successfully output over the optical port and analog ports.
     
     Signed-off-by: Ashley Clark <aclark@ghoti.org>
   - hda-codec - Add support of ASUS U5A with AD1986A codec
     
     Add the model entry to support of ASUS U5A with AD1986A codec.
   - hda-codec - Add the support of ALC262,ALC883,ALC885,ALC861
     
     This patch adds the support of ALC262,ALC883,ALC885,ALC861 to driver
     More models and improvements for ALC880, ALC260 and ALC882 codecs, too.
     
     Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
   - hda-codec - support for Agere's HDA soft modem
     
     This adds support for Agere's variant of Si3054/5 based HDA modem.
     
     Signed-off-by: Sasha Khapyorsky <sashak@alsa-project.org>
   - hda-codec - add D975XBK support to sigmatel patch
     
     Add SigmaTel HDA support for the Intel D975XBK motherboard.
     
     Signed-off-by: Matt Porter <mporter@embeddedalley.com>
   - hda-codec - add sigmatel 927x codec support
     
     Adds support for the SigmaTel STAC927x HDA codec family.
     
     Signed-off-by: Matt Porter <mporter@embeddedalley.com>
   - Add default entry for CTL Travel Master U553W
     
     Added the default entry of ALC880 configuration table for
     CTL Travel Master U553W.
   - hda-codec - Fix support of laptops with AD1986A codec
     
     Fix the support of laptops with AD1986A HD-audio codec.
     Added new models "3stack" and "laptop".  Currently, fixed for FSC V2060
     and Samsung M50.
     
     Also fixed the description of missing models in ALSA-Configuration.txt.
   - hda-codec - Fix Aopen i915GMm-HFS mobo
     
     Add a model entry for Aopen i915GMm-HFS mobo with ALC880 codec.
   - hda-codec - Fix unsol event initialization at resume of stac92xx
     
     Fix the re-initialization of unsolicited events at resume of stac92xx codecs.
   - hda-codec - Fix noisy output wtih AD1986A 3stack model
     
     Fixed the noisy output wtih AD1986A 3stack model using 2 channels.
   - hda-codec - Fix connection list parsing
     
     - Fix connection list parsing (with ranged flag).
     - Increase the max number of connections
     - Introduce widget capabilities cache
     - Power up/down widgets at init, suspend and resume
   - hda-codec - Fix AD1988 support
     
     Fix AD1988 support.  As default, 6stack model is used.
     Still no auto-BIOS setup is implemented.
   - 2.6 kernel sync: small patches
   - hda-codec - Add another HP laptop with AD1981HD
     
     Added the SSID of another HP laptop for the model "hp" with AD1981HD.
   - hda: add PCM for 2nd ADC on ALC260
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     The following patch against alsa 1.0.11rc3 creates a PCM device (pcm1c) for
     the second ADC present on the ALC260 codec used by the hda driver.  It also
     defines a new mixer control allowing the mode of retasking pins to be set;
     this means a user can (for example) designate the headphone jack to be a
     second input. With this patch in place it is possible to do 4 channel
     recording on laptops equipped with an ALC260 codec assuming both a stereo
     line-in jack is provided in addition to a headphone jack.
     
     Mixer controls are provided to allow the headphone jack to be switched as
     an input.  In addition, an (input only) mode control is configured for
     the line-in jack to allow a bias voltage to be requested (VREF80 or VREF50)
     so headsets based on condensor microphones have a chance of working.
     
     This patch has been tested on a Fujitsu S7020 laptop and as such these
     features are currently only configured for the "fujitsu" model.
   - hda: minor correction to fujitsu ALC260 initverbs
     Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     The following patch changes the initverbs associated with the output sum
     widgets 0x08, 0x09 and 0x0a used with the fujitsu model in patch_realtek.c.
     It is against alsa 1.0.11rc3.
     
     Currently these widgets have their output muted, but a close reading of the
     datasheet suggests that they don't actually have an output mute.  They have
     an *input* mute for each of their two inputs and a single output gain. This
     patch therefore activates the input mutes and zeros the output gain.  It has
     not yet been tested but the above interpretation of the ALC260 datasheet
     seems correct.
   - hda: ALC260 test model implementation
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     The following patch adds a "test" ALC260 model specification to the
     patch_realtek.c driver if CONFIG_SND_DEBUG is set.  This is similar to the
     "test" ALC880 model in that it sets up mixer controls for almost everything
     to make it easier for people to test their laptop/soundcard when working out
     what pin widgets are connected to which real-world devices.
     
     This patch assumes my previous patch (adding the second PCM to the ALC260)
     has previously been applied since it uses infrastructure added by that
     patch.
     
     In developing this patch it was found that not all retasking pins accept all
     the modes - in particular, some ignore the VREFxx variants.  The pin mode
     control has therefore been tweaked to prevent this becoming a problem in
     mixer applications.
   - hda-codec - Add missing model entries for Intel 945 boards
     
     Added the missing entries for Intel 945 boards.
   - hda-intel - Automatic correction to single_cmd mode
     
     Switch to single_cmd mode automatically as a fallback when CORB/RIRB
     communication doesn't work well.  It may make the driver working on
     some devices with broken BIOS/ACPI support.
   - hda-codec - Add support for VAIO FE550G and SZ110
     
     Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661).
     The new model "vaio" is added.
   - Add support of LG LW20 laptop
     
     Add support of LG LW20 laptop with ALC880 codec (ALSA bug#1572).
   - hda-codec - Fix VREF level of Mic inputs on STAC92xx codecs
     
     Fixed VREF level of Mic inputs on STAC92xx codecs (ALSA bug#1953).
   - hda-codec - Add channel-mode helper
     
     Add common channel-mode helper functions for all codec patches.
   - hda-codec - Prepare unsol workqueue on demand
     
     Prepare unsol workqueue only when a codec really supports.
   - hda-codec - Fix a typo
     
     Fix a typo in hda_codec.h.
   - hda-codec - Fix assignment of speaker pin
     
     Fix the auto-assignment of speaker pin.  Handle it independently from
     line-out pins.
   - Remove xxx_t typedefs: HD-Audio codec
     
     Remove xxx_t typedefs from the HD-Audio codec support codes.
   - hda-codec - Add AD1988 support
     
     Add AD1988 codec support to hda-codec driver.
     Still experimental, and no BIOS configuration parser is implemented yet.
   - hda-codec - Fix channel mode helper
     
     Fix the channel mode helper (for put callback).
   - hda-codec - Fix/enhance AD1988 support
     
     Fix/enhance AD1988 support code.
     
     - Fix for h/w bug of AD1988A rev 2
     - The BIOS auto-configuration is added and used as fallback
   - hda-codec - Fix surrounds on 3stack mode of AD1988
     
     Fixed the swapped surround/CLFE on 3stack mode of AD1988.
   - hda-codec - Use model "hp" for all HP laptops with AD1981HD
     
     Use model "hp" for all HP laptops with AD1981HD codec.
   - hda-codec - Add Thinkpad X60/T60/Z60 support
     
     Added the support for Thinkpad X60/T60/Z60 laptops with AD1981HD codec.
   - hda-codec - Fix a typo
     
     Fixed a typo of "pci_subsystem" in the last changeset.
   - hda-codec - Add entry for Epox EP-5LDA+ GLi
     
     Added the SSID entry for Epox EP-5LDA+ GLi with ALC880 codec.
   - hda-codec - Fix ALC codec probing
     
     - Fix ALC882 BIOS auto-probe
     - Fix ALC262 basic model
     - Add assert for debugging Oops
   - hda-codec - Fix Oops with ALC260 auto-probe
     
     - Fix Oops with auto-probing of ALC260 with digital I/O
     - Fix a typo
   - HDA/ALC260: 1/7 - Fix test model input mux label
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     This patch fixes input mux labels used for the ALC260 "test" model.  This is
     needed to avoid confusion which comes about because the two ADCs in the
     ALC260 have slightly different mappings for their input selectors. Since
     this is just the test model it's sufficient to simply report both options
     where they exist.  If a model comes along for which this becomes an issue,
     the ALC260 input mux code will have to be extended to allow different mux
     layouts for different ADCs.
   - HDA/ALC260: 2/7 - switch pin buffer enables
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     This patch adds functionality which switches the input/output buffer enables
     of retasking pins when the user changes their mode with the mode control.
     This probably reduces noise *slightly* for recording compared to the case
     where both input and output buffers were enabled simultaneously.
   - HDA/ALC260: 3/7 - generalise some structures
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     This patch generalises a structure added for the "fujitsu" model but which
     is potentially useful for other models as well.  It turns the
     "alc260_fujitsu_adc_nids" array into "alc260_dual_adc_nids"; for other
     models which decide to utilise the dual ADC functionality there's really
     no reason why they need to define their own list of ADC nids.
     
     The "fujitsu" model preset is adjusted accordingly.
   - HDA/ALC260: 4/7 - add GPIO switches to test model
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     This patch adds "test" model mixer switches for the GPIO controls found on
     the ALC260.  It has been found that some laptops (eg: Acer) can use these to
     enable particular controls, so it would be useful to have access to these
     via the "test" model.  It will make testing new models easy, especially if
     certain outputs cannot be made to work any other way.
     
     This patch *should* work, but because the GPIO pins don't do anything in
     my laptop I cannot personally verify that all this works as expected.
   - HDA/ALC260: 5/7 - add "acer" model
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     This patch adds a new "acer" model.  It is based on work by Rimas and many
     other dedicated Acer owners over the past few weeks (see bug number
     1618) - kudos to them. This adds support for a variety of Acer laptops,
     although we are still in the process of collecting pci/subsystem IDs to add.
     There are still some potentially outstanding issues: there are reports that
     the CD control might not yet be functional for example.  However, the time
     is probably right to get a "first cut" into the kernel which can be refined
     as more test reports come in.
     
     From the reports by various Acer owners, this code allows them to record
     from internal mics and external jacks.  Playback also seems to work to all
     external jacks and the internal speaker.  The "beep" control doesn't appear
     functional at the moment.
     
     This patch depends on the changes made in patch 3/7.
   - HDA/ALC260: 6/7 - Fujitsu/test model tweaks
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     This patch is janitorial - it cleans up a number of cosmetic issues with
     the "fujitsu" and "test" models.  Issues addressed:
     
      * spaces instead of tabs used for some indents,
     
      * clarified/corrected selected comments.
     
     Unlike a patch from earlier this week, this keeps both ADCs connected to
     the mic1 pin widget by default.  I believe this is the better default, since
     some laptops don't bring the line1 widget to the outside world.  Most (if
     not all) do bring mic1 out though, so it seems to me that this default
     should remain in place.
   - HDA/ALC260: 7/7 - add SPDIF enable to test model
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     This patch adds mixer controls to the "test" ALC260 model which allow the
     user to selectively enable or disable the SPDIF output pins.  This should
     assist people identify digital outputs on machines which bring them to the
     outside world.
     
     Note that while the patch *should* work, I cannot personally verify it since
     my laptop doesn't bring the SPDIF lines out.
     
     As for the GPIO switches added in patch 4, these controls are currently
     only compiled in if debug mode is selected.
   - hda-codec - Fix max_channels computation for STAC92xx codecs
     
     Fix max_channels computation for STAC92xx codecs in the case only
     HP pin without line-out pins is detected in the default pin config.
   - hda-codec - Fix init verb of ALC260
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     Fixed the wrong widget id for line-2 selector in the init verb
     of ALC260.
   - hda-codec - Fix typos in alc882 model table
     
     Fixed typos in alc882 model table.
   - hda-codec - Fix BIOS auto-configuration
     
     - Fix autoconfig speaker/hp detection
       Now it allows multiple speaker pins (e.g. Dell laptops have such config)
     
     - Use speaker or hp pins if no line-outs are available
       This fixes the silence output on recent Dell laptops with STAC9200
       (ALSA bug#1843)
     
     - Fix analog/realtek/sigmatel autoconfig parser
   - hda-codec - Add support for HP nx9420 laptop
     
     Added the support for HP nx9420 (AngelFire) laptop with AD1981HD codec.
   - hda-codec - Add support for ASUS P4GPL-X
     
     Added the support ASUS P4GPL-X with ALC880 codec.
   - HDA/Realtek: multiple input mux definitions and pin mode additions
     From: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
     
     The following patch relative to CVS from 20060324 adds the following
     features to the Realtek HDA codec.
     
     1) Define two new pin modes: ALC_PIN_DIR_IN_NOMICBIAS and
        ALC_PIN_DIR_INOUT_NOMICBIAS.  These can be used with jack mode switch
        definitions in mixers to prevent the user being offered the mic bias
        options if the hardware doesn't support it.
     
     2) Add the ability to have different input mux definitions for different
        ADCs.  This is needed because the ALC260 chip uses different mux layouts
        for the two onboard ADCs.  A new field (num_mux_defs) was added to the
        alc_spec and alc_config_preset structures to support this.
     
     3) Adjust numerous comments to make them consistent with the above changes.
     
     4) Utilise the new multi-mux definition functionality for the ALC260 fujitsu
        model to allow recording of the mixer output.
     
     5) Utilise the new multi-mux definition functionality for the ALC260 test
        model to make the mux selections a little less confusing.
     
     6) Allow the headphone jack of the ALC260 acer model to be retasked in
        the mixer.
     
     6) Utilise the new multi-mux definition functionality for the ALC260 acer
        model to give access to the mixer output and the retasked headphone
        jack.
     
     At this stage the *_NOMICBIAS modes are not used.  We have reports that the
     "Line" jack of at least some Acer models doesn't pass the bias out, and we
     also know that NIDs 0x0f and 0x10 don't seem to accept the mic bias requests
     at all.  However, I feel we need to collect more evidence on both counts
     before committing to the use of *_NOMICBIAS.  In the case of the Acers, it's
     not clear whether this issue (probably caused by the inclusion of DC
     blocking capacitors) affects all Acer models or just a small number.  With
     the issue with NIDs 0x0f and 0x10 it's unclear whether this is a hardware
     bug which will be addressed in later chip revisions or if it's an
     intentional restriction.  The datasheet makes no mention of the restriction
     so at this stage I'm inclined to consider it a hardware bug.  Comments in
     the source reflect this reasoning.
     
     On a similar theme, the headphone jack of the Fujitsu S7020 also doesn't
     appear to pass mic bias voltage.  I'm still investigating this however.
     
     With the ability to retask the headphone jack, owners of ALC260-based Acer
     laptops should now be able to record 4 channels of audio if they desire. The
     multiple mux definitions allow this jack to be presented from both ADCs
     (since this mux input is one of those which differs between the muxes).
     
     This patch has been tested on a Fujitsu S7020 laptop and appears to behave
     itself both for the "test" and "fujitsu" models.  Definitions using only a
     single mux specification also work.  Other ALC chips should be fine but I
     cannot test these myself.  The "auto" modes should also continue to function
     but again I have not verified this.
   - hda-codec - update sigmatel support and bug fixes
     
     - Explictly set pin control as input for all input pins
     - Fix bug in 922x mixer (no mute on adc0vol)
     - Remove broken ch_mode control
     - Add support for jack retasking mixer controls to use rear line and
       mic as surround outputs
     - Add board tables to support autodetect and pin config defaults for
       systems with broken bioses
     - Add support for several Intel mobos
     - Add support for DFI mobo with reference boards attached
       (gets rid of compile time switch to use reference boards)
     
     Signed-off-by: Matt Porter <mporter@embeddedalley.com>
   - hda-codec - Small clean up and fixes
     
     - Common labels for input pins
     - Fix and clean up of Realtek codec parsers
   - hda-codec - Add the model entry for ASUS P5GD1-HVM
     
     Add the model entry (ALC880 6stack) for ASUS P5GD1-HVM.
   - hda-codec - Add model entry for Sony VAIO
     
     Added an ALC260 model entry (basic) for Sony VAIO.
   - hda: sigmatel fixes
     
     * Fix init sequence so manually retaskable jacks don't get added to
       the line_out list.
     * Update intel mobo config defaults to specify surround outputs
       as line outs rather than speakers.
     
     Signed-off-by: Matt Porter <mporter@embeddedalley.com>
   - hda-codec - Fix ALC262 for Fujitsu laptop
     
     Add "fujitsu" model for ALC262 patch to support a FSC laptop.
     The internal speaker is turned on/off with jack sensing.
     
     Also fixed alc262 "basic" model.
   - hda-codec - Fix AD198x recording and add HP model
     
     - Fixed recording of AD1981HD/AD1983/AD1986A
     - Added model "hp" to AD1981HD for HP nx6320
   - Fix missing AD1986a capsrc
     
     Fix missing AD1986a capsrc setting in the last patch.
   - hda-codec - Add model entry for FIC P4M-915GD1
     
     Add model entry for FIC P4M-915GD1 with ALC880 codec.
   - hda-codec - Fix auto-probe of ALC880
     
     This patch is to fix the problem of calculating the nid incorrectly
     when auto-probe for ALC880. The problem to be fixed often behaves
     with such words when using dmesg, 'num_steps = 0 for NID=0x8' when
     auto-probe for ALC880.
     
     The patch contains:
     - alsa-kernel/pci/hda/patch_realtek.c: replace 'alc880_dac_to_idx'
       with 'alc880_idx_to_dac' in function 'alc880_auto_fill_dac_nids()'
     
     Signed-off-by: Libin Yang <libin.yang@intel.com>
 + HDA Intel driver
   - [ALSA] hda-intel - Add support of ATI SB600
     
     This patch adds support for high definition audio on ATI SB600.
     
     Signed-off-by: Felix Kuehling <fkuehlin@ati.com>
     Signed-off-by: Takashi Iwai <tiwai@suse.de>
   - hda-intel - Automatic correction to single_cmd mode
     
     Switch to single_cmd mode automatically as a fallback when CORB/RIRB
     communication doesn't work well.  It may make the driver working on
     some devices with broken BIOS/ACPI support.
   - hda-intel - Auto-correction of the DMA position mode
     
     Switch the method to measure the current DMA position automatically
     from position-buffer mode to LPIB-read mode with a sanity check.
     Some hardwares seems to have problem with the position buffer.
   - hda-intel - Add single_cmd option for debugging
     
     Added single_cmd module option for debugging in the case CORB/RIRB
     doesn't work well (e.g. due to wrong irq routings).
   - Remove xxx_t typedefs: HDA-Intel
     
     Remove xxx_t typedefs from the HDA-Intel driver.
   - hda-intel - Fix PM support
     
     Fix PM support on HDA-Intel driver.
   - hda-intel - Use position buffer as default
     
     - Use the position buffer for obtaining the current DMA position
       as default.  This seems more stable than others.
     - Add probe_mask module option (mainly for test boards with multiple
       codecs).
   - hda-intel - patch for Intel ICH8
     
     This patch adds the Intel ICH8 HD Audio DID to the hda_intel.c audio driver.
     
     Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
   - hda-intel - Fix HDA probe_mask default
     
     The probe_mask module parameter comment notes that the intended
     default is -1. Fix it to be so, otherwise all codecs are skipped
     and init fails.
     
     Signed-off-by: Matt Porter <mporter@embeddedalley.com>
 + HDA generic driver
   - hda-codec - Add the support of ALC262,ALC883,ALC885,ALC861
     
     This patch adds the support of ALC262,ALC883,ALC885,ALC861 to driver
     More models and improvements for ALC880, ALC260 and ALC882 codecs, too.
     
     Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
   - hda-codec - Fix connection list parsing
     
     - Fix connection list parsing (with ranged flag).
     - Increase the max number of connections
     - Introduce widget capabilities cache
     - Power up/down widgets at init, suspend and resume
   - hda-codec - Allocate connection lists dynamically in generic parser
     
     Allocate connection lists dynamically in generic parser.
   - hda-codec - Add channel-mode helper
     
     Add common channel-mode helper functions for all codec patches.
   - hda-codec - Fix assignment of speaker pin
     
     Fix the auto-assignment of speaker pin.  Handle it independently from
     line-out pins.
   - Remove xxx_t typedefs: HD-Audio codec
     
     Remove xxx_t typedefs from the HD-Audio codec support codes.
   - hda-codec - Fix BIOS auto-configuration
     
     - Fix autoconfig speaker/hp detection
       Now it allows multiple speaker pins (e.g. Dell laptops have such config)
     
     - Use speaker or hp pins if no line-outs are available
       This fixes the silence output on recent Dell laptops with STAC9200
       (ALSA bug#1843)
     
     - Fix analog/realtek/sigmatel autoconfig parser
   - hda-codec - Fix generic auto-configurator
     
     Fixed the generic auto-configurator to check speaker pins in
     addition.
   - hda-codec - Small clean up and fixes
     
     - Common labels for input pins
     - Fix and clean up of Realtek codec parsers
   - hda-codec - Fix ALC262 for Fujitsu laptop
     
     Add "fujitsu" model for ALC262 patch to support a FSC laptop.
     The internal speaker is turned on/off with jack sensing.
     
     Also fixed alc262 "basic" model.
   - sound/: possible cleanups
     
     This patch contains the following possible cleanups:
     - pci/hda/hda_proc.c should #include "hda_local.h" for including the
       prototype of it's global function snd_hda_codec_proc_new()
     - core/rawmidi.c: make the needlessly global and EXPORT_SYMBOL'ed
       function snd_rawmidi_info() static
     
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
 + HDSPM driver
   - Remove xxx_t typedefs: PCI HDSP-MADI
     
     Remove xxx_t typedefs from the PCI HDSP-MADI driver.
 + I2C Kconfig
   - Audio support for codec Philips UDA1380
     
     Audio support for codec Philips UDA1380.
     
     Signed-off-by: Giorgio Padrin <giorgio@mandarinlogiq.org>
 + I2C UDA1380
   - Audio support for codec Philips UDA1380
     
     Audio support for codec Philips UDA1380.
     
     Signed-off-by: Giorgio Padrin <giorgio@mandarinlogiq.org>
 + I2C cs8427
   - ice1712 & cs8427 - fix problem for S/PDIF input setup
     
     See ALSA bug#1785 for more details.
   - Remove xxx_t typedefs: I2C drivers
     
     Remove xxx_t typedefs from the i2c drivers.
 + I2C lib core
   - semaphore -> mutex (driver part)
     
     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>
   - Remove xxx_t typedefs: I2C drivers
     
     Remove xxx_t typedefs from the i2c drivers.
 + I2C tea6330t
   - Remove tea6330t struct definition from public header
     
     Remove tea6330t struct definition from public header.
     It's anyway unaccessible from outside.
 + ICE1712 driver
   - ice1712 - Delta 1010LT S/PDIF fixes
     
     See ALSA bug#1806 for details.
   - ice1724 - Add support of Prodigy-7.1LT
     
     Added the support of Prodigy-7.1LT board.
     The patch taken from ALSA BTS bug#1090.
   - Use DMA_28BIT_MASK and DMA_32BIT_MASK
     
     Sync with 2.6 git.
     
     This patch introduces the DMA_28BIT_MASK constant in dma-mapping.h
     ALSA drivers using this mask are changed to use the new constant.
     
     Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
   - ice1712 - Fix wrong register value for DMX 6FIRE
     
     I have just discovered I made an error in the register value set in 'Limit
     dmx6fire to 6 dacs' patch (bug1472).  The value set should be '2a' not '0a'
     as in the original patch, which unintentionally disables the 2nd MPU 401
     UART.
     
     Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
   - ice1712 - Fix wrong value types for enum items
     
     Fix the access to wrong type values for enum items in aureon.c
     (ALSA bug#1527).
   - [ALSA] Add Aux input switch control for Aureon Universe
     
     This patch adds a mixer control which allows the user to switch the Aux
     playback between the internal Aux jack, Wavetable, and Rear Line-In on
     Aureon Universe cards.
     
     For switching, a PCA9554 (8-line GPIO with I2C interface) and a 74HC4052
     (dual 4-way mux/demux) are used.  Output 0 and 1 of the PCA9554 are
     connected to the select pins of the 74HC4052. The I2C interface of the
     PCA9554 is connected to the card's internal SPI bus which is also used
     to control the WM8770 and CS8415. SPI and I2C on the same lines...
     
     To communicate with the PCA9554 the WM8770 and CS8415 are disabled and
     an I2C Stop Condition is generated before the Start Condition (needed
     for synchronisation because other SPI traffic appear to confuse the
     PCA9554). Then a normal I2C data transfer takes place.  Programming must
     be done ridiculously slow; in theory, 4.7us is the minimum delay time
     for normal-speed I2C according to the datasheet, but even with 10us
     switching was unreliable.  The Windows driver from Terratec does the
     programming very slowly, too (checked with an oscilloscope).
     
     PCA9554 datasheet:
     http://www.semiconductors.philips.com/acrobat/datasheets/PCA9554_9554A_6.pdf
     
     74HC4052 datasheet:
     http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT4052_4.pdf
     
     Signed-off-by: Maximilian Rehkopf <otakon@gmx.net>
     Signed-off-by: Takashi Iwai <tiwai@suse.de>
   - ice1712 & cs8427 - fix problem for S/PDIF input setup
     
     See ALSA bug#1785 for more details.
   - Remove xxx_t typedefs: PCI ICE1712
     
     Remove xxx_t typedefs from the PCI ICE1712 driver.
   - Remove xxx_t typedefs: PCI ICE1724
     
     Remove xxx_t typedefs from the PCI ICE1724 driver.
   - sound/pci/: remove duplicate #include's
     
     There's no reason for #include'ing linux/dma-mapping.h more than once.
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - ice1712 - Fix wordclock status on Delta1010LT
     From: Doug McLain <doug@nostar.net>
     
     I posted this patch to bug 1806 a while back, and have been awaiting a
     reply or commit.  It currently reports the Locked/No Signal text
     backwards in envy24control, since i was using an older version of
     envy24control when I wrote the original code.  The Locked/No Signal test
     was recently reversed in envy24control cvs, so the test in my code needs
     to be reversed as well.  Here is the patch, once again.
   - sound/pci/ice1712/delta.c: make 2 functions static
     
     This patch makes two needlessly global functions static.
     
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - ice1712 - typo fixes for dxr_enable module option
     From: Alan Horstmann <gineera@aspect135.co.uk>
   - ice1712 - Fix Front Digital Input of Terratec DMX 6Fire
     
     Fix the inverted switch of "Front Digital Input" of Terratec DMX 6Fire.
   - ice1712 - disable unused ADCs & DACs on DMX6fire
     
     Change the value written to hardware configuration register of envy24 chip
     in the case of Terratec DMX6fire to restrict the active ADCs & DACs to 6.
     
     Also add the dxr_enable module option to eventually leave the old behaviour
     when user requests.
     
     Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
 + ICE1724 driver
   - ice1724 - Add support of M-Audio Revolution 5.1
     
     Added the basic support of M-Audio Revolution 5.1.
   - Remove xxx_t typedefs: PCI ICE1724
     
     Remove xxx_t typedefs from the PCI ICE1724 driver.
 + IOCTL32 emulation
   - make control.c suspend aware
     
     This patch prevents user-space apps from accessing the hardware via
     control interface while the soundcard is suspended.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - dynamic minors (3/6): store device-specific object pointers dynamically
     
     Instead of storing the pointers to the device-specific structures in an
     array, put them into the struct snd_minor, and look them up dynamically.
     
     This makes the device type modules independent of the minor number
     encoding.
   - Remove xxx_t typedefs: Ioctl32
     
     Remove xxx_t typedefs from old ioctl32 module.
     Patches are regenerated.
   - Fix compile error with older 2.6 kernels
     
     Fix compile error with older 2.6 kernels due to the last change of
     snd_power_wait() arguments.
 + ISA
   - Add snd-miro driver
     From: Martin Langer <martin-langer@gmx.de>
     
     Added snd-miro driver for miroSOUND PCM by Martin Langer.
   - Move miro driver to alsa-kernel
     
     Move miro driver to alsa-kernel.
   - Sort Kconfig entries
     
     Sort Kconfig entries in alphabetical order.
   - Remove SND_GENERIC_DRIVER from isa/Kconfig
     
     Remove the obsolete SND_GENERIC_DRIVER from isa/Kconfig.
 + Instrument layer
   - Remove xxx_t typedefs: Instrument layer
     
     Remove xxx_t typedefs from the core instrument layer codes.
 + Intel8x0 driver
   - intel8x0: Add quirk for Optiplex GX270
     
     This patch adds a quirk entry for the Dell Optiplex GX270, on which
     the volume is set by the headphone control, not the master control.
     
     Signed-off-by: Chris Ball <cjb@mrao.cam.ac.uk>
   - intel8x0 - Added swap_hp quirk for Fujitsu-Siemens Celsius H320 [0x10cf:0x12f2]
   - intel8x0 - Fix/cleanup detection of codecs on SIS7012
     
     Fix the detection of tertriary codec on SIS7012, including clean-ups
     of relevant codes.
   - intel8x0 - Clean up delay function
     
     Remove superfluous delay macro.
     Call appropriate functions directly.
   - Remove xxx_t typedefs: PCI Intel8x0
     
     Remove xxx_t typedefs from the PCI Intel8x0 and modem drivers.
   - intel8x0 - Fix PM support
     
     Fix PM support on Intel8x0 and modem drivers.
   - intel8x0 - Disable ALI5455 SPDIF-input
     
     Disable the SPDIF-input on ALI5455, which causes Oops.
   - Add a new quirk for mute-LED and HP-only.
     
     This patch adds a new quirk for ac97 hardware that combines the existing
     AC97_TUNE_MUTE_LED and AC97_TUNE_HP_ONLY quirks.  This is needed for several
     current HP laptops.  Additionally, it adds the HP nx6125 to the
     AC97_TUNE_MUTE_LED list.
     
     Fixed for the latest version of ALSA by Takashi Iwai <tiwai@suse.de>.
     
     Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
   - intel8x0 - Add MCP51 PCI ID
     
     Added MCP51 PCI ID to intel8x0 driver.
     Also, updated the supported chips in documentation.
   - intel8x0 - wait for ICH_RESETREGS
     
     It seems that hardware requires some time to reset bus master registers.
     We need to wait until ICH_RESETREGS bit is not released.
     
     The suggestion and symptom was described by Mike Gorchak <lestat@i.com.ua>.
   - intel8x0 - Fix duplicate ac97_quirks entry
     From: Ulrich Mueller <ulm@kph.uni-mainz.de>
     
     in recent -mm kernels additional quirks for ac97 hardware in HP laptops
     have been added.  However, now the list in intel8x0.c contains a duplicate,
     since the HP nx6110 and nc6120 have identical subdevice ids.
     
     This was introduced in -mm1 by the following patch:
     add-new-quirk-for-devices-with-mute-leds-and-separate-headphone-volume.patch
     
     Since the HP nx6110 and nc6120 are almost identical, both entries
     should really be combined, as in the following patch. I have checked
     that AC97_TUNE_HP_MUTE_LED is the right thing to do.
     
     Signed-off-by: Andrew Morton <akpm@osdl.org>
 + Intel8x0-modem driver
   - intel8x0 - Clean up delay function
     
     Remove superfluous delay macro.
     Call appropriate functions directly.
   - Remove xxx_t typedefs: PCI Intel8x0
     
     Remove xxx_t typedefs from the PCI Intel8x0 and modem drivers.
   - intel8x0 - Fix PM support
     
     Fix PM support on Intel8x0 and modem drivers.
 + KORG1212 driver
   - Fix possible races in timer callbacks
     
     Fix possible races in timer callbacks.
   - korg1212 - Clean up debug prints
     
     Clean up debug prints in korg1212 driver.
     Also, clean up spaces/indents in some places.
   - Remove xxx_t typedefs: PCI KORG1212
     
     Remove xxx_t typedefs from the PCI KORG1212 driver.
 + L3 drivers
   - Clean up sa11xx-uda1341 driver
     
     Clean up sa11xx-uda1341 driver:
     
     - Fix buggy destructor
     - Remove the global variable
     - Move array definitions from uda1341.h
     - Make functions in uda1341.c static
   - Remove xxx_t typedefs: I2C drivers
     
     Remove xxx_t typedefs from the i2c drivers.
 + MAINTAINERS file
   - Sync with 2.6 GIT tree
   - 2.6 kernel sync
     
   - Sync with current 2.6 code
   - Keep non-ALSA kernel files
     
     Keep non-ALSA kernel files in kernel subdirectory to sync and make
     patches easily.  MAINTAINERS is moved to this directory, too.
   - Add support for the CS5535 Audio device
     
     Add support for the CS5535 Audio device.  I've fixed up some errors as per
     Takashi's advice from the thread:
     
     http://lkml.org/lkml/2005/9/15/119
     
      From: Alan Cox <alan@lxorguk.ukuu.org.uk>
     
             cs5535 is a 32bit x86 only device using weird CPU features
     
     Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - sync with recent 2.6
 + MIPS
   - Remove snd_card_generic_dev()
     
     Remove the obsolete snd_card_generic_dev().
     CONFIG_SND_GENERIC_DRIVER is also removed from Kconfig.
 + MIPS AU1x00 driver
   - AMD Au1x00: make driver build after cleanup
     From: Sergei Shtylylov <sshtylyov@ru.mvista.com>
     
     AMD Au1x00 ALSA driver doesn't build after the recent code cleanup:
     
     sound/mips/au1x00.c: In function `au1000_setup_dma_link':
     sound/mips/au1x00.c:173: error: `pointer' undeclared (first use in this function)
     sound/mips/au1x00.c:173: error: (Each undeclared identifier is reported only once
     sound/mips/au1x00.c:173: error: for each function it appears in.)
     sound/mips/au1x00.c: In function `snd_au1000_hw_params':
     sound/mips/au1x00.c:339: warning: implicit declaration of function `snd_mask_min'
   - au1x00 - Code clean up
     
     Clean up snd-au1x00 driver code:
     
     - Remove global variables
     - Remove old compatibility codes
     - Fix DMA-link allocation/release functions in hw_params and hw_free
       callbacks (they may be called multiple times)
     - Fix spinlocks
   - Remove xxx_t typedefs: MIPS AU1x00
     
     Remove xxx_t typedefs from the MIPS AU1x00 driver.
   - Remove snd_card_generic_dev()
     
     Remove the obsolete snd_card_generic_dev().
     CONFIG_SND_GENERIC_DRIVER is also removed from Kconfig.
   - AMD Au1x00: fix DMA init/cleanup
     
     AMD Au1x00 ALSA driver causes kernel oops in au1000_init() by trying
     to set DMA channel to -1 in yet unallocated audio streams. Here's the
     patch that staightens up DMA init/cleanup code.
     
     Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
   - AMD Au1x00: AC'97 controller is memory mapped
     
     AMD Au1x00 ALSA driver erroneously calls request_region() for AC'97
     controller registers -- the controller is actually memory mapped at
     addresses 0x10000000 thru 0x100FFFFF.
     
     Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
 + MIXART driver
   - Remove xxx_t typedefs: PCI miXart
     
     Remove xxx_t typedefs from the PCI miXart driver.
 + MPU401 UART
   - Fix possible races in timer callbacks
     
     Fix possible races in timer callbacks.
   - Fix check of enable module option
     
     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.
   - [PATCH] pnp: mpu401: adjust pnp_register_driver signature
     
     This series of patches removes the assumption that pnp_register_driver()
     returns the number of devices claimed.  Returning the count is unreliable
     because devices may be hot-plugged in the future.  (Many devices don't support
     hot-plug, of course, but PNP in general does.)
     
     This changes the convention to "zero for success, or a negative error value,
     which matches pci_register_driver(), acpi_bus_register_driver(), and
     platform_driver_register().
     
     If drivers need to know the number of devices, they can count calls to their
     .probe() methods.
     
     This patch:
     
     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>
   - continue on IS_ERR from platform device registration
     
     I previously only concerned myself with sound/isa. When I now checked
     for more platform_device_register_simple() usages in ALSA I found a
     couple more drivers that needed the same patches as already submitted
     for all the ISA drivers.
     
     This first one is the continue-on-iserr patch for sound/drivers. This
     gets them all.
     
     Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
   - unregister platform device again if probe was unsuccessful
     
     This second one unregisters the platform device again when the probe is
     unsuccesful for sound/drivers, sound/arm/sa11xx-uda1341.c and
     sound/ppc/powermac.c. This gets them all.
     
     Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
   - Remove xxx_t typedefs: MPU401
     
     Remove xxx_t typedefs from the MPU401-UART and MPU401 drivers
   - Remove xxx_t typedefs: MPU401
     
     Remove xxx_t typedefs from MP401.
     Patches are regenerated.
   - mpu401 - Use platform_device
     
     Rewrite the probe/remove code using platform_device.
 + MSND driver
   - Remove xxx_t typedefs: ISA MSND-Pinnacle
     
     Remove xxx_t typedefs from the ISA MSND-Pinnacle driver.
 + Maestro3 driver
   - Remove xxx_t typedefs: PCI Maestro3
     
     Remove xxx_t typedefs from the PCI Maestro3 driver.
   - Remove xxx_t typedefs: Patches
     
     Regenerated patches.
   - maestro3 - Fix PM support
     
     Fix PM support on maestro3 driver.
   - maestro3.c: fix BUG, optimization
     
     - fix brown-paper-bag locking bug (lock() / return / unlock())
     - improve central function snd_m3_update_ptr()
       (avoid expensive integer divisions)
     - add cpu_relax() to busy-wait I/O loop as recommended
       (does this require special macro support in ALSA for older kernels??)
     - constify several structs
     - spelling updates
     
     Signed-off-by: Andreas Mohr <andi@lisas.de>
   - Regenerated maestro3.patch
     
     Regenerated the patch for the last changes:
       maestro3.c: fix BUG, optimization
 + Memalloc module
   - semaphore -> mutex (core part)
     
     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>
   - Use dma_alloc_coherent() hack on i386 only
     
     Use dma_alloc_coherent() hack on i386 only (as a valid arch).
   - Fix patch
     
     Regenerated patch for the latest change in alsa-kernel/core/memalloc.c.
   - Define dummy __GFP_XXX for older kernels
     
     Define dummy __GFP_XXX for older kernels.
   - dynamic minors (6/6): increase maximum number of sound cards
     
     With dynamic minor numbers, we can increase the number of sound cards.
     
     This requires that the sequencer client numbers of some kernel drivers
     are allocated dynamically, too.
   - Removed unneeded page-reserve
     
     Removed unneeded page-reservation.
   - Regenerated patch
     
     Regenerated patch to add page-reservation for older kernels.
   - unpaged: fix sound Bad page states
     
     Earlier I unifdefed PageCompound, so that snd_pcm_mmap_control_nopage
     and others can give out a 0-order component of a higher-order page,
     which won't be mistakenly freed when zap_pte_range unmaps it.  But
     many Bad page states reported a PG_reserved was freed after all: I had
     missed that we need to say __GFP_COMP to get compound page behaviour.
     
     Some of these higher-order pages are allocated by snd_malloc_pages, some
     by snd_malloc_dev_pages; or if SBUS, by sbus_alloc_consistent - but that
     has no gfp arg, so add __GFP_COMP into its sparc32/64 implementations.
     
     I'm still rather puzzled that DRM seems not to need a similar change.
     
     Signed-off-by: Hugh Dickins <hugh@veritas.com>
 + NM256 driver
   - nm256 - Code clean up
     
     Clean up snd-nm256 driver code:
     
     - Simplify chip constructor function
   - Remove xxx_t typedefs: PCI NM256
     
     Remove xxx_t typedefs from the PCI NM256 driver.
   - nm256-intel - Fix PM support
     
     Fix PM support on NM256 driver.
   - Fix NM256 hard lock up
     
     Treat the nm256 mixer as a write-only device so as to avoid hangs on
     initialisation.
     
     Signed-off-by: Florian Schlichting <Florian.Schlichting@gmx.de>
 + OLD GF1 header
   - Remove xxx_t typedefs: old gf1.h
     
     Remove xxx_t typedefs from old gf1.h.
 + OPL3
   - Fix possible races in timer callbacks
     
     Fix possible races in timer callbacks.
   - seq: remove struct snd_seq_client_callback
     
     The fields of struct snd_seq_client_callback either aren't used or are
     always set to the same value, so we can get rid of it altogether.
   - seq: set client name in snd_seq_create_kernel_client()
     
     All users of snd_seq_create_kernel_client() have to set the client name
     anyway, so we can just pass the name as parameter.  This relieves us
     from having to muck around with a struct snd_seq_client_info in these
     cases.
   - semaphore -> mutex (driver part)
     
     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>
   - Fix use after free in opl3_seq and opl3_oss
     
     Don't read from free'd memory.  Also make use of the return
     value, and don't register the device if something went wrong
     creating the port.
     
     Coverity #954, #955
     
     Signed-off-by: Dave Jones <davej@redhat.com>
   - 2.6 kernel sync: small patches
   - Remove xxx_t typedefs: OPL3
     
     Remove xxx_t typedefs from the OPL3 driver
   - opl3 - Fix the unreleased resources
     
     Fix the unreleased resources in the error path of snd_opl3_create().
   - Fix bogus snd_device_free() in opl3-oss.c
     
     Remove snd_device_free() for an opl3-oss instance which should have
     been released.
 + OPL3SA2 driver
   - opl3sa2 - Fix conflict of driver name on sysfs
     
     Fix the conflict of driver name "opl3sa2" on sysfs with OSS driver.
   - Remove xxx_t typedefs: ISA OPL3SA2
     
     Remove xxx_t typedefs from the ISA OPL3SA2 driver.
   - opl3sa2 - Use platform_device
     
     Rewrite the probe/remove with platform_device.
   - Fix compilation without CONFIG_PNP
     
     Fix compilation of some ISA drivers without CONFIG_PNP.
   - Fix adding second dma channel
     
     dma2 is a global array. sprintf below suggests there was a typo.
     
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
 + OPL4
   - seq: remove struct snd_seq_client_callback
     
     The fields of struct snd_seq_client_callback either aren't used or are
     always set to the same value, so we can get rid of it altogether.
   - seq: set client name in snd_seq_create_kernel_client()
     
     All users of snd_seq_create_kernel_client() have to set the client name
     anyway, so we can just pass the name as parameter.  This relieves us
     from having to muck around with a struct snd_seq_client_info in these
     cases.
   - semaphore -> mutex (driver part)
     
     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>
   - Remove xxx_t typedefs: OPL4
     
     Remove xxx_t typedefs from the OPL4 driver
 + OSS device core
   - [PATCH] mark f_ops const in the inode
     
     Mark the f_ops members of inodes as const, as well as fix the
     ripple-through this causes by places that copy this f_ops and then "do
     stuff" with it.
     
     Signed-off-by: Arjan van de Ven <arjan@infradead.org>
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Sync with 2.6 GIT tree
 + Opti9xx drivers
   - opti9x - Fix compile without CONFIG_PNP
     
     Fix compile errors without CONFIG_PNP.
   - opti93x - Fix a compile warning
     
     Fix a gcc-4.1 compile warning regarding uninitialized variables.
   - Replace semaphore with mutex
     
     Replace semaphore with mutex.
   - Add snd-miro driver
     From: Martin Langer <martin-langer@gmx.de>
     
     Added snd-miro driver for miroSOUND PCM by Martin Langer.
   - Move miro driver to alsa-kernel
     
     Move miro driver to alsa-kernel.
   - Remove obsolete kfree_nocheck call
     
     Fixed the compilation, removing obsolete kfree_nocheck() call
     for memory debugging.
   - Remove xxx_t typedefs: ISA Opti9xx
     
     Remove xxx_t typedefs from the ISA Opti 9xx drivers.
   - Remove xxx_t typedefs: ISA Miro
     
     Remove xxx_t typedefs from the ISA Miro driver.
   - opti9xx - Use platform_device
     
     Rewrite the probe/remove with platform_device.
   - miro - Use platform_device
     
     Rewrite the probe/remove with platform_device.
   - Fix double free in error path of miro driver
     
     Fixed the double free in error path of miro driver.
   - unregister platform devices
     
     Call platform_device_unregister() for all platform devices that we've
     registered.
 + PARISC Harmony driver
   - harmony - Code clean up
     
     Clean up snd-harmony driver code:
     
     - Give standard module options
     - Fix spinlocks
     - Fix the error path of request_irq()
     - Clean up redundant codes
   - Remove xxx_t typedefs: PARISC Harmony
     
     Remove xxx_t typedefs from the PARIC Harmony driver.
 + PC98(CS423x) driver
   - Remove xxx_t typedefs: ISA CS423x-PC98
     
     Remove xxx_t typedefs from the ISA CS423x-PC98 driver.
 + PCI drivers
   - Added a new als300 driver
     From: Ash Willis <ashwillis@programmer.net>
     
     Added als300 driver by Ash Willis <ashwillis@programmer.net>:
     
     This is a patch to add Avance Logic ALS300 and ALS300+ support.
     It covers playback and capture but legacy devices are not yet implemented.
   - Make CONFIG_SND_CS46XX_NEW_DSP yes as default
     
     Removed from CONFIG_EXPERIMENTAL from CONFIG_SND_CS46XX_NEW_DSP, and
     make default to yes.  This option works fine for years.
   - Add snd-riptide driver for Conexant Riptide chip
     From: Peter Gruber <nokos@gmx.net>
     
     Add snd-riptide driver for Conexant Riptide chip by Peter Gruber.
   - Move riptide driver to alsa-kernel
     
     Move riptide driver to alsa-kernel.
   - Add snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards
     From: Ash Willis <ashwillis@programmer.net>
     
     Added snd-als300 driver for Avance Logic ALS300/ALS300+ soundcards
     by Ash Willis.
   - Move snd-als300 to alsa-kernel
     
     Move snd-als300 to alsa-kernel tree.
   - Add support for the CS5535 Audio device
     
     Add support for the CS5535 Audio device.  I've fixed up some errors as per
     Takashi's advice from the thread:
     
     http://lkml.org/lkml/2005/9/15/119
     
      From: Alan Cox <alan@lxorguk.ukuu.org.uk>
     
             cs5535 is a 32bit x86 only device using weird CPU features
     
     Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - Sort Kconfig entries
     
     Sort Kconfig entries in alphabetical order.
   - Add PCXHR driver
     From: Markus Bollinger <bollinger@digigram.com>
     
     Add Digigram PCXHR driver.
   - Move PCXHR driver to alsa-kernel
     
     Moved PCXHR driver to alsa-kernel.
   - Enable asihpi only for i386
     
     Enable asihpi only for i386.
 + PDAudioCF driver
   - Don't NULL check vfree argument in pdaudiocf_pcm.c
     
     Don't check pointers passed to vfree for null in pdaudiocf_pcm.c
     
     Signed-off-by: Jesper Juhl <Jesper.Juhl@Gmail.Com>
   - [PATCH] 2.6 kernel sync: pcmcia: a lot of changes
     
     Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
   - Fix build of pcmcia drivers on 2.6.16 kernel
     
     Fix build of pcmcia drivers on 2.6.16 kernel.
     Some incompatibilities hit again on 2.6.17rc1.
   - Remove xxx_t typedefs: PCMCIA PDaudioCF
     
     Remove xxx_t typedefs from the PCMCIA PDaudioCF driver.
   - pdaudiocf - Fix PM support
     
     Fix the PM support on pdaudiocf driver.
   - 2.6-sync: Sync with 2.6.16rc1
     
     Sync with 2.6.16rc1.
   - Fix compilation for older kernels
     
     Fix compilation for older kernels.
   - Memory leak in sound/pcmcia/pdaudiocf/pdaudiocf.c
     
     if one of the first three CS_CHECKS fails, we goto cs_failed:
     In this case parse we donr kfree() parse. Since the the last three
     CS_CHECKS might also fail, i moved the kfree() below all the CS_CHECKs
     and added one in the error path. This fixes coverity bug id #1099
     
     Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
 + PDPlus driver
   - Remove xxx_t typedefs: PCI PD-plus
     
     Remove xxx_t typedefs from the PCI PD-plus driver.
 + PPC
   - powermac - fix compile with older kernels
     
     Fix compile with older kernels after sync with 2.6.16-rc1.
   - powermac - Use platform_device
     
     Rewrite the probe/remove with platform_device.
     Move the PM support to platform_device's callbacks.
 + PPC AWACS driver
   - Remove xxx_t typedefs: PowerMac
     
     Remove xxx_t typedefs from the PowerMac driver.
 + PPC Beep
   - Remove xxx_t typedefs: PowerMac
     
     Remove xxx_t typedefs from the PowerMac driver.
 + PPC Burgundy driver
   - Remove xxx_t typedefs: PowerMac
     
     Remove xxx_t typedefs from the PowerMac driver.
 + PPC DACA driver
   - [PATCH] I2C: Drop unneeded i2c-dev.h includes
     
     Several media/video and sound drivers include i2c-dev.h while they
     don't need it at all. Clean it up.
     
     This header file is really only needed by i2c-dev.c and
     compat_ioctl.c, other drivers should never need it.
     
     Signed-off-by: Jean Delvare <khali@linux-fr.org>
     Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
   - Remove xxx_t typedefs: PowerMac
     
     Remove xxx_t typedefs from the PowerMac driver.
 + PPC Keywest driver
   - powermac - sync with 2.6 kernel
     
     Sync with 2.6.16-rc1.
   - powermac - fix compile with older kernels
     
     Fix compile with older kernels after sync with 2.6.16-rc1.
   - [PATCH] I2C: Drop unneeded i2c-dev.h includes
     
     Several media/video and sound drivers include i2c-dev.h while they
     don't need it at all. Clean it up.
     
     This header file is really only needed by i2c-dev.c and
     compat_ioctl.c, other drivers should never need it.
     
     Signed-off-by: Jean Delvare <khali@linux-fr.org>
     Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
 + PPC PMAC driver
   - powermac - sync with 2.6 kernel
     
     Sync with 2.6.16-rc1.
   - powermac - fix compile with older kernels
     
     Fix compile with older kernels after sync with 2.6.16-rc1.
   - sound/ppc/pmac.c typo
     
     In 2.6.16-rc1 there is a small typo introduced by the
     'Remove device_node addrs/n_addr' changes
     which prevents my Powerbook G4 sound from working:
     
     	Advanced Linux Sound Architecture Driver Version 1.0.11rc2
     	(Wed Jan 04 08:57:20 2006 UTC).
     	snd: can't request rsrc  0 (Sound Control: 0x80000000:80004fff)
     	ALSA device list:
     	   No soundcards found.
     
     The patch below fixes it. Of course, the patch fixing the i2c issues
     ('i2c_smbus_write_i2c_block_data' patch) needs to be applied to in
     order for the sound to completly work.
     
     Signed-off-by: Stelian Pop <stelian@popies.net>
   - 2.6 kernel sync: small patches
   - powermac - Revert the last addition for 17" powerbook
     
     The last addition of 17" powerbook support seems buggy
     (it's not Toonie indeed).  Removed again.
   - Remove xxx_t typedefs: Patches
     
     Regenerated patches.
   - powermac - Use platform_device
     
     Rewrite the probe/remove with platform_device.
     Move the PM support to platform_device's callbacks.
   - powerpc: Fix sound driver use of i2c
     
     The PowerMac sound drivers used to rely on a "bug" of the i2c-keywest
     driver that implemented I2C_SMBUS_BLOCK_DATA incorrectly, that is it did
     what I2C_SMBUS_I2C_BLOCK_DATA should have done. The new i2c-powermac
     driver that replaces keywest has this bug fixed, thus the sound drivers
     must be fixed too.
     
     Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Fix compile with older kernel
     
     Fixed the changed field: of_requested => requested.
     ALSA bug#1941
   - snd_powermac: Add ID for Spring 2005 17" Powerbook
     
     The audio chip in my Spring 2005 17" PowerBook was incorrectly
     recognized as an AWACS chip.  This adds the chip ID to the
     snd_powermac driver such that it is recognized as a Toonie (I don't
     know if that's correct, but it's the only one that makes it work at
     all). and sorts the ID lists numerically.  NOTE:  This chip is only
     minimally supported at this point; it has system beep support and
     very low volume speaker output, and that's about it.
     
     Signed-off-by: Kyle Moffett <mrmacman_g4@mac.com>
 + PPC PowerMac driver
   - powermac - fix compile with older kernels
     
     Fix compile with older kernels after sync with 2.6.16-rc1.
   - unregister platform device again if probe was unsuccessful
     
     This second one unregisters the platform device again when the probe is
     unsuccesful for sound/drivers, sound/arm/sa11xx-uda1341.c and
     sound/ppc/powermac.c. This gets them all.
     
     Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
   - powermac - Use platform_device
     
     Rewrite the probe/remove with platform_device.
     Move the PM support to platform_device's callbacks.
 + PPC Toonie
   - [PATCH] I2C: Drop unneeded i2c-dev.h includes
     
     Several media/video and sound drivers include i2c-dev.h while they
     don't need it at all. Clean it up.
     
     This header file is really only needed by i2c-dev.c and
     compat_ioctl.c, other drivers should never need it.
     
     Signed-off-by: Jean Delvare <khali@linux-fr.org>
     Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
 + PPC Tumbler driver
   - [PATCH] I2C: Drop unneeded i2c-dev.h includes
     
     Several media/video and sound drivers include i2c-dev.h while they
     don't need it at all. Clean it up.
     
     This header file is really only needed by i2c-dev.c and
     compat_ioctl.c, other drivers should never need it.
     
     Signed-off-by: Jean Delvare <khali@linux-fr.org>
     Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
   - PowerBook 6,1: headphone not detected after suspend in snd_powerpc
     
     ever since suspend to disk works I had the problem that headphone
     (un)plugging doesn't get detected properly anymore after the first
     resume.
     Reloading the module worked around this ever since, however the real
     cause of the problem was that after a resume the driver only got
     interrupts on "unplug" not on "plug". Reactivating the headphone status
     interrupt in tumbler_resume fixes this. This shouldn't cause
     any trouble with software suspend.
     
     Signed-off-by: Guido Guenther <agx@sigxcpu.org>
   - powerpc: Fix sound driver use of i2c
     
     The PowerMac sound drivers used to rely on a "bug" of the i2c-keywest
     driver that implemented I2C_SMBUS_BLOCK_DATA incorrectly, that is it did
     what I2C_SMBUS_I2C_BLOCK_DATA should have done. The new i2c-powermac
     driver that replaces keywest has this bug fixed, thus the sound drivers
     must be fixed too.
     
     Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Fix tumbler.patch
     
     Regenerated tumbler.patch for the latest change.
 + PXA Mainstone driver
   - Added more files including ALSA codes
     
     Added more files including ALSA codes from 2.6.15-git tree.
   - Fix snd_xxx_t typedefs
     
     Replace snd_xxx_t typedefs with explicit structs.
   - Sync with current 2.6 code
 + RME HDSP driver
   - Remove xxx_t typedefs: PCI HDSP
     
     Remove xxx_t typedefs from the PCI HDSP driver.
 + RME32 driver
   - [PATCH] Typo fixes
     
     Fix a lot of typos.  Eyeballed by jmc@ in OpenBSD.
     
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Remove xxx_t typedefs: PCI RME32
     
     Remove xxx_t typedefs from the PCI RME32 driver.
 + RME96 driver
   - [PATCH] Typo fixes
     
     Fix a lot of typos.  Eyeballed by jmc@ in OpenBSD.
     
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Remove xxx_t typedefs: PCI RME96
     
     Remove xxx_t typedefs from the PCI RME96 driver.
 + RME9652 driver
   - hdsp - Fix printk warnings
     
     sound/pci/rme9652/hdspm.c: In function `snd_hdspm_preallocate_memory':
     sound/pci/rme9652/hdspm.c:3327: warning: int format, different type arg (arg 4)
     sound/pci/rme9652/hdspm.c:3331: warning: int format, different type arg (arg 4)
     sound/pci/rme9652/hdspm.c: In function `snd_hdspm_create':
     sound/pci/rme9652/hdspm.c:3513: warning: int format, different type arg (arg 4)
     
     
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - sound/pci/rme9652/hdspm.c: fix off-by-one errors
     
     This patch fixes off-by-one errors found by the Coverity checker.
     
     
     Signed-off-by: Adrian Bunk <bunk@stusta.de>
   - [PATCH] Typo fixes
     
     Fix a lot of typos.  Eyeballed by jmc@ in OpenBSD.
     
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - Remove xxx_t typedefs: PCI HDSP-MADI
     
     Remove xxx_t typedefs from the PCI HDSP-MADI driver.
   - Remove xxx_t typedefs: PCI RME9652
     
     Remove xxx_t typedefs from the PCI RME9652 driver.
 + RTC timer driver
   - Remove xxx_t typedefs: Timer
     
     Remove xxx_t typedefs from the core timer.
 + Raw OPL FM
   - Remove xxx_t typedefs: OPL3
     
     Remove xxx_t typedefs from the OPL3 driver
 + SA11xx UDA1341 driver
   - unregister platform device again if probe was unsuccessful
     
     This second one unregisters the platform device again when the probe is
     unsuccesful for sound/drivers, sound/arm/sa11xx-uda1341.c and
     sound/ppc/powermac.c. This gets them all.
     
     Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
   - Clean up sa11xx-uda1341 driver
     
     Clean up sa11xx-uda1341 driver:
     
     - Fix buggy destructor
     - Remove the global variable
     - Move array definitions from uda1341.h
     - Make functions in uda1341.c static
   - Remove xxx_t typedefs: ARM SA11xx-UDA1341
     
     Remove xxx_t typedefs from the ARM SA11xx-UDA1341 driver.
   - Use platform_device
     
     Rewrite the probe/remove with platform_device.
     Fix PM support, too.
 + SAA7134 driver
   - Add saa7134-alsa.c for sync
     
     Imported saa7134-alsa.c from 2.6.15-git tree.
   - Added more files including ALSA codes
     
     Added more files including ALSA codes from 2.6.15-git tree.
   - Fix snd_xxx_t typedefs
     
     Replace snd_xxx_t typedefs with explicit structs.
   - 2.6 kernel sync
     
   - sync with recent 2.6
 + SB drivers
   - sound/isa/sb/sb_mixer.c double kfree
     
     snd_ctl_add() already does the free on error.
     
     Coverity bug #957
     Signed-off-by: Dave Jones <davej@redhat.com>
   - ALS4000 update
     
     some update for the ALS4000 driver (tested with hardware in my PC):
     
     - use common control names according to ControlNames.txt
     - add some controls (Master Mono, 3D control)
     - optimize struct snd_card_als4000_t layout (performance/size)
     - save some bytes via unified error path
     - constify some read-only data
     - add ToDo list
     - move GPL license text to top
     - add comments
     
     Signed-off-by: Andreas Mohr <andi@lisas.de>
   - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE
     
     Remove xxx_t typedefs from the ISA SB8/SB16/SBAWE drivers.
   - Add PM support to SB-support code
     
     Add PM support to SB-support code.
 + SB16/AWE driver
   - sb16 - Fix duplicated PnP entry
     
     Fix the duplicated PnP entry between sb16 and sbawe drivers.
   - semaphore -> mutex (ISA part)
     
     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>
   - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE
     
     Remove xxx_t typedefs from the ISA SB8/SB16/SBAWE drivers.
   - Add PM support to SB-support code
     
     Add PM support to SB-support code.
   - sb16 - Use platform_device and add PnP support
     
     Rewrite the probe/remove with platform_device.
     Add PM support using PnP suspend/resume callbacks.
 + SB8 driver
   - Remove xxx_t typedefs: ISA SB8/SB16/SBAWE
     
     Remove xxx_t typedefs from the ISA SB8/SB16/SBAWE drivers.
   - sb8 - Use platform_device and add PnP support
     
     Rewrite the probe/remove with platform_device.
     Add PM support, too.
 + SPARC
   - Remove snd_card_generic_dev()
     
     Remove the obsolete snd_card_generic_dev().
     CONFIG_SND_GENERIC_DRIVER is also removed from Kconfig.
 + SPARC AMD7930 driver
   - Remove xxx_t typedefs: SPARC AMD7930
     
     Remove xxx_t typedefs from the SPARC AMD7930 driver.
   - Remove snd_card_generic_dev()
     
     Remove the obsolete snd_card_generic_dev().
     CONFIG_SND_GENERIC_DRIVER is also removed from Kconfig.
 + SPARC DBRI driver
   - dbri - Don't return errors without CONFIG_PROC_FS
     
     Don't return errors if the proc file can't be created (for the case
     without CONFIG_PROC_FS).
   - Remove xxx_t typedefs: SPARC DBRI
     
     Remove xxx_t typedefs from the SPARC DBRI driver.
 + SPARC cs4231 driver
   - 2.6-sync - fix typos
     
     2.6-sync - fixed typos in sparc/cs4231.c
   - Remove xxx_t typedefs: SPARC CS4231
     
     Remove xxx_t typedefs from the SPARC CS4231 driver.
   - Remove snd_card_generic_dev()
     
     Remove the obsolete snd_card_generic_dev().
     CONFIG_SND_GENERIC_DRIVER is also removed from Kconfig.
   - 2.6-git-sync: Sync sparc/cs4231.c
     
     Sync with 2.6.15-rc2-git.  Updated sparc/cs4231.c.
 + Serial BUS drivers
   - Remove xxx_t typedefs: Patches
     
     Regenerated patches.
 + SonicVibes driver
   - Remove xxx_t typedefs: PCI Sonicvibes
     
     Remove xxx_t typedefs from the PCI Sonicvibes driver.
 + Sound Galaxy driver
   - Remove xxx_t typedefs: ISA SB/AD-clone
     
     Remove xxx_t typedefs from the ISA SB/AD-clone drivers
     (als100, azt2320, dt019x, sgalaxy).
   - sgalaxy - Use platform_device, add PM support
     
     Rewrite the probe/remove with platform_device.
     Also, add the PM support.
 + Sound Scape driver
   - Remove xxx_t typedefs: ISA SoundScape
     
     Remove xxx_t typedefs from the ISA SoundScape driver.
   - sscape - Use platform_device
     
     Rewrite the probe/remove with platform_device.
 + SoundFont
   - semaphore -> mutex (driver part)
     
     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>
   - Remove xxx_t typedefs: Emu-X synth
     
     Remove xxx_t typedefs from the Emu-X synth support.
 + Support code for old kernels
   - fix compilation on earlier kernels
     
     Fix various bugs in the compatibility code.
   - Fix for the recent changes of pnp_*_regsiter_driver()
     
     Add a wrapper for pnp_*_register_driver() for 2.6.16 or older kernels
     to absorb the changes since 2.6.17rc1.  The return value is zero when
     success.
     
     Also fixed snd-pnp support module for older kernels.
   - Add (psuedo) suspend/resume callbacks
     
     Add (psuedo) suspend/resume callbacks.  Not yet implemented really.
 + Synth
   - Remove xxx_t typedefs: Emu-X synth
     
     Remove xxx_t typedefs from the Emu-X synth support.
 + Trident driver
   - Prevent ALSA trident driver from grabbing pcnet32 hardware
     
     Some pcnet32 hardware erroneously has the Vendor ID for Trident.  The
     pcnet32 driver looks for the PCI ethernet class before grabbing the
     hardware, but the current trident driver does not check against the
     PCI audio class.  This allows the trident driver to claim the pcnet32
     hardware.  This patch prevents that.
     
     Per Jiri Slaby's request, I changed the trident driver to use
     PCI_DEVICE macro and PCI ID #defines.
     
     This patch is untested on Trident 4DWAVE_DX hardware, but has been
     tested on pcnet32 hardware.
     
     Signed-off-by: Jon Mason <jdmason@us.ibm.com>
   - seq: remove struct snd_seq_client_callback
     
     The fields of struct snd_seq_client_callback either aren't used or are
     always set to the same value, so we can get rid of it altogether.
   - seq: set client name in snd_seq_create_kernel_client()
     
     All users of snd_seq_create_kernel_client() have to set the client name
     anyway, so we can just pass the name as parameter.  This relieves us
     from having to muck around with a struct snd_seq_client_info in these
     cases.
   - Remove xxx_t typedefs: PCI Trident
     
     Remove xxx_t typedefs from the PCI Trident driver.
   - trident - Fix PM support
     
     Fix PM support on Trident driver.
 + UDA1341
   - Clean up sa11xx-uda1341 driver
     
     Clean up sa11xx-uda1341 driver:
     
     - Fix buggy destructor
     - Remove the global variable
     - Move array definitions from uda1341.h
     - Make functions in uda1341.c static
 + USB USX2Y
   - 2.6-sync - Remove .owner field from usb drivers
     
     Remove .owner field from usb drivers.
   - Regenerated patches for usb drivers
     
     Regenerated patches for usb drivers due to removal of owner field.
   - [PATCH] Typo fixes
     
     Fix a lot of typos.  Eyeballed by jmc@ in OpenBSD.
     
     Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
   - usx2y - Code clean up
     
     Clean up snd-usb-usx2y driver code:
     
     - Avoid unnecessary cast
     - Fix spaces/indents
     - Use kzalloc()
     - Remove weird debug prints
   - Remove xxx_t typedefs: USB-USX2Y
     
     Remove xxx_t typedefs from the USB-USX2Y driver.
   - Remove xxx_t typedefs: Patches
     
     Regenerated patches.
   - unpaged: sound nopage get_page
     
     Something noticed when studying use of VM_RESERVED in different drivers:
     snd_usX2Y_hwdep_pcm_vm_nopage omitted to get_page: fixed.
     
     And how did this work before?  Aargh!  That nopage is returning a page
     from within a buffer allocated by snd_malloc_pages, which allocates a
     high-order page, then does SetPageReserved on each 0-order page within.
     
     That would have worked in 2.6.14, because when the area was unmapped,
     PageReserved inhibited put_page.  2.6.15-rc1 removed that inhibition
     (while leaving ineffective PageReserveds around for now), but it hasn't
     caused trouble because.. we've not been freeing from VM_RESERVED at all.
     
     Signed-off-by: Hugh Dickins <hugh@veritas.com>
   - Fix for 2.6.14 and older kernels
     
     Fix for 2.6.14 and older kernels.
 + USB generic driver
   - usb-audio: fix non-48k sample rates with SB Audigy 2 ZS
     
     On the Audigy 2 ZS, disable all sample rate that are not a multiple of
     48 kHz because the others work only with the digital output which is
     not yet supported.
   - 2.6-sync - Remove .owner field from usb drivers
     
     Remove .owner field from usb drivers.
   - Regenerated patches for usb drivers
     
     Regenerated patches for usb drivers due to removal of owner field.
   - usb-audio: optimize snd_usbmidi_count_bits()
     
     Reduce the code size of the snd_usbmidi_count_bits() function by using
     simpler operations.
   - usb-audio: add Edirol PC-50 support
     
     Add a quirk entry for the Edirol PC-50.
   - Regenerate for mutex changes
     
     Regenerated the patch for mutex changes.
   - fix usbmixer double kfree
     
     snd_ctl_add() kfree's the kcontrol already if we fail there,
     so this driver is currently doing a double kfree.
     
     Coverity bug #959
     
     Signed-off-by: Dave Jones <davej@redhat.com>
   - fix resource leak in usbmixer
     
     We may leak 'namelist' in sound/usb/usbmixer.c::parse_audio_selector_unit()
     
     Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
   - usb-audio: fix Edirol UA-20 support
     
     Somebody at Edirol fucked up and released a new revision of the UA-20
     without class-specific descriptors, so now we have to hard-code the
     sample format.
   - add another Phase 26 quirk
     
     Add a quirk entry for the TerraTec Phase 26 with yet another product ID.
   - no need to check pointers passed to vfree() for NULL
     
     There's no need to check pointers passed to vfree() for NULL.
     
     Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
   - usb-audio: don't use empty packets at start of playback
     
     Some widespread USB interface chips with adaptive iso endpoints hang
     after receiving a series of empty packets when they expect data (ALSA
     bug#1585).  To avoid this, we have to send packets containing silence
     (zero samples) instead.
   - usb-audio: factor out packet size calculation code
     
     Move the common packet size calculation code from
     prepare_startup_playback_urb() and prepare_playback_urb() to a new
     function.
   - usb-audio: add UM-1EX/UM-2EX information
     
     Add comments with information about UM-1EX/UM-2EX devices.
   - usb-audio: add Casio AP-80R support
     
     Add a quirk for the Casio AP-80R.
   - usb-audio: show USB error descriptions
     
     When usb_submit_urb() fails, show an error description instead of just
     the error code.
   - usb-audio: change Casio quirk product name
     
     Use a generic name for USB device 0x07cf:0x6802 because this ID is used
     by several devices without a product ID.
   - usb-audio: add Casio PL-40R support
     
     Add a quirk entry for the Casio PL-40R.
   - usb-audio: add Maya44 mixer control names
     
     Add mixer control names for the AudioTrak Maya44 USB.
   - Remove xxx_t typedefs: USB-Audio
     
     Remove xxx_t typedefs from the USB-Audio driver.
   - Subject: usb-audio: rename QUIRK_MIDI_MIDITECH to QUIRK_MIDI_CME
     
     Rename QUIRK_MIDI_MIDITECH to QUIRK_MIDI_CME because Miditech keyboards
     are built by CME and use the same protocol, and don't force a Miditech
     product name for the USB ID used by both Miditech and CME UF-x
     keyboards.
   - Add support for EDIROL UM-3ex
     From: Brent Cook <busterbcook@yahoo.com>
     
     This is my naive attempt at adding ALSA device support. The attached
     patch provides support for the EDIROL UM-3ex. This is a 3-port USB midi
     interface with a built-in USB hub and the ability to chain 2 other
     UM-3x's in a master-slave configuration. I only have one, so I do not
     know how this works in practice.
     
     Though this is a 3-port device, I had to throw in that 4th 'Control' interface
     to the definition in order to make the 3rd port work. If I set in/out_cables
     to 0x000b, a 3rd interface appears on the driver, but it does nothing.
     Changing it to 0x000f allows the 3rd interface to work, but of course
     interface 4 does not work because it does not exist.
   - usb-audio: cosmetic changes
     
     Move some entries around to keep them sorted by ID.
   - usb-audio: add error message about missing split iso support
     
     Add an error message for -ENOSYS for situations when split iso support
     is needed but not enabled.
   - Fixes audiophile usb analog capture with the new device_setup parameter
     
     The patch adds the "device_setup" module parameter and a specific
     quirk to correctly initialize the audiophile usb device: this fixes
     the distorted sound bug on the Analog capture port. Backward
     compatibility is achieved by simply omitting the new parameter.
     
     Signed-off-by: Thibault LE MEUR <Thibault.LeMeur@supelec.fr>
   - Patch regenerated
     
     Regenerated for the last change with device_setup option.
   - Test volume resolution of usb audio at initialization
     
     Test the volume of usb audio whether actually it works and adjusts
     the resolution value according to it.
     
     Some USB audio devices report a lower resolution than it reacts.
     The only possible check is to write and read a volume value.
   - usb-audio: add Miditech Play'n Roll support
     
     Add a quirk entry for the Miditech Play'n Roll.
   - usb-audio: add Roland G-70 support
     
     Add a quirk entry for the Roland G-70.
   - snd_pcm_format_name() is no longer exported
     
     Because snd_pcm_format_name() function is used only for informational
     purposes, it is no longer exported from the PCM midlevel to reduce
     space and dependency. usbaudio module shows only numeric value for format.
   - usb-audio: fix number of G-70 ports
     
     The G-70 has one MIDI port in each direction, no two.
   - usb-audio: add MDP-5/EZ-J24 support
     
     Add support for the Yamaha MDP-5 and EZ-J24.
 + Utils
   - PCM midlevel & PCM OSS - make procfs & OSS plugin code optional
     
     1) The verbose procfs code for the PCM midlevel and usb audio
        can be removed now (more patches will follow).
        CONFIG_SND_VERBOSE_PROCFS
     2) The PCM OSS plugin system can be also compiled optionaly.
        CONFIG_SND_PCM_OSS_PLUGINS
   - check for errors in patches
     
     In the patch-alsa script, check that patch executes successfully so
     that outdated patches can be detected when compiling against 2.6
     kernels.
   - dynamic minors (4/6): dynamic minor number allocation
     
     Add an option to allocate device file minor numbers dynamically.
   - Changed file permissions for script and added .hgignore file
     
     Initial version of .hgignore file.
     
   - pc-speaker hooks for 2.6.15
     
     Here is the rediffed patch against 2.6.15.
     
     Signed-off-by: Stas Sergeev <stsp@aknet.ru>
   - Add a patch for PnP suspend/resume
     
     Add a patch for PnP suspend/resume support to 2.6.15-rc1.
   - Another build fixes
     
     Another build fixes, CONFIG_SOUND=m unconditionally.
   - Update of PC-speaker driver
     From: Stas Sergeev <stsp@aknet.ru>
     
     Update PC-Speaker driver using a new hook.
     A new patch is provided, too.
 + VIA82xx driver
   - via82xx - Add dxs entry for ASRock mobo
     
     Added dxs_support entry for ASRock mobo.
   - via82xx - Add dxs_support entry
     
     Added a dxs_support entry for Jetway K8M8MS.
   - via82xx - Add dxs_support entry for EpoX 9HEAI
     
     Added the dxs_support entry for EpoX 9HEAI.
   - via82xx - Add dxs entry for a FSC board
     
     Add dxs entry for a FSC board.
   - via82xx - Add dxs entry for P4M800/VIA8237R
     
     Added the dxs entry for P4M800/VIA8237R,
     reported by OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
   - via82xx - Add a dxs entry for ECS K8T890-A
     
     Added a dxs_support entry for ECS K8T890-A board.
   - via82xx - Add dxs entry for FSC Amilo L7300
     
     Added dxs_support entry for FSC Amilo L7300.
   - via82xx - Add dxs entry for EPoX EP-8KRAI
     
     Added the dxs_support entry for EPoX EP-8KRAI (ALSA bug#1423).
   - Remove xxx_t typedefs: PCI VIA82xx
     
     Remove xxx_t typedefs from the PCI VIA82xx and modem drivers.
   - via82xx - Fix PM support
     
     Fix PM support on VIA82xx and modem drivers.
   - via82xx: add support for VIA VT8251 (AC'97)
     
     Add support for VIA VT8251 AC'97. Includes a workaround which ensures sound 
     won't stop playing after one second of playback.
     
     Signed-off-by: Bastiaan Jacques <b.jacques@planet.nl>
   - via82xx - Add a quirk for Targa Traveller 811
     
     Add an ac97 quirk entry for Targa Traveller 811.
   - via82xx - Add dxs_support for ASUS mobo
     
     Add a dxs_support entry for ASUS mobo.
   - via82xx - Add dxs entry for ASRock mobo
     
     Add dxs_support entry for ASRock mobo.
 + VIA82xx-modem driver
   - Remove xxx_t typedefs: PCI VIA82xx
     
     Remove xxx_t typedefs from the PCI VIA82xx and modem drivers.
   - via82xx - Fix PM support
     
     Fix PM support on VIA82xx and modem drivers.
 + Wavefront drivers
   - wavefront - Fix a compile warning
     
     Fix a gcc-4.1 compile warning regarding uninitialized variables.
   - Eliminate __attribute__ ((packed)) warnings for gcc-4.1
     
     Fixed packed attributes for gcc-4.1.
   - remove gcc-2 checks
     
     Remove codes for gcc < 3.2.
   - Remove xxx_t typedefs: ISA Wavefront
     
     Remove xxx_t typedefs from the ISA Wavefront driver.
   - wavefront - Use platform_device
     
     Rewrite the probe/remove with platform_device.
 + YMFPCI driver
   - ymfpci: fix SPDIF sample rate information
     
     Set the (read only) sample rate field in the IEC958 mixer controls to
     48 kHz (instead of 44.1 kHz) because that is the rate actually
     supported by the hardware.
   - ymfpci: fix swapped channels in SPDIF output
     
     The routing of the effect 2/3 channels to the digital output is the
     opposite of the rear analog output (left/right swapped).
     
     We make the order correct for the digital output (which will make the
     analog rear have the channels swapped) to make AC3 output work.
   - ymfpci: show chip model
     
     Instead of "DS-XG", show the correct chip model (DS-1/1L/1S/1E) where possible.
   - Remove xxx_t typedefs: PCI YMFPCI
     
     Remove xxx_t typedefs from the PCI YMFPCI driver.
   - ymfpci - Fix PM support
     
     Fix PM support on YMFPCI driver.
   - ymfpci - make rear channel swap optional
     
     Added rear_swap module option / kernel parameter to configure the rear
     channel swapping. Default value is enable to make the AC3 passthrough
     working, but analog only users might revert the previous behaviour.
 + au88x0 driver
   - au88x0 - 64bit arch fixes
     
     Fix the driver codes to run on 64bit architectures.
     The patch taken from ALSA BTS bug#1047.
   - au88x0 - clean up __devinit/__devexit
     
     Removed all use of __devinit/__devexit and init.h from headers.  Any
     attributes given in the prototype but not in the function definition have
     been moved to the definition.
     
     An exception is vortex_eq_free: I removed the __devexit attribute because
     vortex_eq_free is called from vortex_core_shutdown, and
     vortex_core_shutdown may be called from __devinit snd_vortex_create.
     
     Compile tested with allyesconfig and allmodconfig.
     
     Signed-off-by: Dale Sedivec <dale@codefu.org>
   - Overrun in sound/pci/au88x0/au88x0_pcm.c
     
     since idx is used as an index for vortex_pcm_prettyname[VORTEX_PCM_LAST],
     it should not be equal to VORTEX_PCM_LAST. This fixes coverity bug id #572
     
     Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
   - au88x0 - Fix structs for equalizer
     
     Fixed the structures for equalizer.
   - au88x0 - Fix a compile warning
     
     Fixed an uninitialized variable.
   - au88x0: Remove unneeded call to pci_dma_supported()
     
     pci_dma_supported() is called right before pci_set_dma_mask() which already
     calls pci_dma_supported().  The attached patch removes the unneeded call to
     pci_dma_supported()
     
     Additionally the custom VORTEX_DMA_MASK macro is replaced by DMA_32BIT_MASK
     from linux/dma-mapping.h
     
     Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
   - Remove xxx_t typedefs: PCI AU88x0
     
     Remove xxx_t typedefs from the PCI AU88x0 drivers.
 + cvscompile script
   - Changed file permissions for script and added .hgignore file
     
     Initial version of .hgignore file.
     
 + pci_ids.h update
   - Sync with 2.6 GIT tree
   - Sync with current 2.6 code
   - Keep non-ALSA kernel files
     
     Keep non-ALSA kernel files in kernel subdirectory to sync and make
     patches easily.  MAINTAINERS is moved to this directory, too.
   - Add support for the CS5535 Audio device
     
     Add support for the CS5535 Audio device.  I've fixed up some errors as per
     Takashi's advice from the thread:
     
     http://lkml.org/lkml/2005/9/15/119
     
      From: Alan Cox <alan@lxorguk.ukuu.org.uk>
     
             cs5535 is a 32bit x86 only device using weird CPU features
     
     Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
     Signed-off-by: Andrew Morton <akpm@osdl.org>
 + snddevices script
   - Remove bashism from snddevices
     
     Remove bashism from snddevices.
  • alsa-lib
 + Core
   - implementation of pcm simple helper function
     
     - snd_pcm_recovery()
     - snd_pcm_set_params()
     - snd_pcm_get_params()
   - Skip resmgr when EAGAIN or EBUSY
     
     Skip resmgr when EAGAIN or EBUSY.
   - Portability fix for alsa-lib on mips
     From: Henryk Plötz <henryk@ploetzli.ch>
     
     I recently had problems building alsa-lib 1.0.10 on mips (for my
     Netgear WGT634U). Turned out the problem was in include/alsa-symbols.h
     were there was __asm__ code that wouldn't work with the mips assembler.
     Attached is a patch that makes this work again.
   - Avoid unnecesasry call of resmgr
     
     Avoid unnecesasry call of resmgr if the device file really doesn't exist.
   - allow changing of device directory path
     
     Add configuration options to change the default device path from the
     default /dev/snd.  This is useful for embedded systems that do not want
     subdirectories in /dev.
   - Fix infinite parse of recursive definitions
     
     Fixed the infinite parse (and eventually segfault) of recursive definitions.
     Also fixed the parse of a string slave PCM of direct plugins.
   - Fix permission of cvscompile
     
     Added exec permission to cvscompile script.
   - Changed permissions for scripts and added .hgignore file
     
     Initial version of .hgignore file
   - Check wordexp.h for ulibc
     
     Check wordexp.h for ulibc.
   - Allow partial build with selected components
     
     Add --enable-* and --with-pcm-plugins configure options for partial builds.
     
     User can choose the core components (pcm, mixer, rawmidi, hwdep, seq, instr)
     via --enable-xxx or --disable-xxx option.  As default, all components are
     enabled.
     
     The PCM plugins to build can be selected via --with-pcm-plugins option.
     For example, to build only rate and linear plugin, pass
       --with-pcm-plugins=rate,linear
     Passing "all" will select all plugins (it's the default value).
     
     The plug plugin will select linear and copy plugins automatically.
     The other auto conversions of plug plugin are enabled only when the
     corresponding plugin is selected.
 + Control API
   - Fix compile warnings
     
     Fix compile warnings on 64bit architectures.
   - remove superfluous free() checks
     
     free() correctly handles NULL pointers, so we can omit explicit checks
     for that condition.
   - allow changing of device directory path
     
     Add configuration options to change the default device path from the
     default /dev/snd.  This is useful for embedded systems that do not want
     subdirectories in /dev.
   - Fix memory leaks
     
     Fixed small memory leaks in the parser.
 + HWDEP API
   - Do not abort in snd_xxx_close() functions
     
     Remove several memory leaks by not aborting prematurely from a
     snd_xxx_close() function when some operation fails.
     This can happen when a USB device was unplugged.
   - remove superfluous free() checks
     
     free() correctly handles NULL pointers, so we can omit explicit checks
     for that condition.
   - allow changing of device directory path
     
     Add configuration options to change the default device path from the
     default /dev/snd.  This is useful for embedded systems that do not want
     subdirectories in /dev.
 + Instrument API
   - remove superfluous free() checks
     
     free() correctly handles NULL pointers, so we can omit explicit checks
     for that condition.
 + Mixer API
   - Fix the handling of stereo capture source
     
     Patch from bug#1610
     
     The simple mixer doesn't handle the stereo "Capture Source" properly,
     wrongly set cswitch-joined.
   - Fix compile warnings
     
     Fix trivial compile warnings.
   - remove superfluous free() checks
     
     free() correctly handles NULL pointers, so we can omit explicit checks
     for that condition.
   - Fix the description of snd_mixer_handle_events()
     
     Fixed the description about the return value of snd_mixer_handle_events()
     (ALSA bug#1932).
 + PCM API
   - Fix compile warnings
     
     Fix trivial compile warnings.
   - Fix check of nonblock option
     
     Fix the check of nonblock option for all hw layer.
     Instead of passing in asound.conf, check the option in snd_pcm_hw_open()
     so that the nonblock option is referred in the case of "type hw ..." style
     definition, too.
   - Fix fullduplex with dmix/dsnoop
     
     Fixed the fullduplex of dmix and dsnoop plugins due to confliction of
     ipc keys.
   - Fix plug conversion of non-linear formats
     
     Fix plug conversion of non-linear formats with channel or rate conversion.
   - implementation of pcm simple helper function
     
     - snd_pcm_recovery()
     - snd_pcm_set_params()
     - snd_pcm_get_params()
   - Add "nonblock" option for hw layer
     
     Added a new "nonblock" option for hw layer.  This controls the non-blocking
     "open" mode as default.
     
     This option is set to TRUE as the default configuration.  If the old behavior
     is preferred, set "defaults.pcm.nonblock" to 0 in /etc/asound.conf.
   - pcm_ladspa - setup control outputs all times
     
     It turned out that plugins that had control outputs were not being set
     up properly if there was no corresponding "output" section.
     
     Signed-off-by: Nathan Kurz <nate@verse.com>
   - return ENODEV for disconnected devices
     
     Return -ENODEV instead of -ENOTTY for disconnected devices.
   - Fix double free in rate plugin
     
     Fixed double free in rate plugin (bug#1937).
   - Add restriction parameters to pcm hw layer
     
     Add restriction parameters to pcm hw layer.
     
     The PCM hw has optional parameters, format, rate and channels, to restrict
     the configuration.  This is useful for definition of surround slave PCMs,
     for example.
   - Fix snd_pcm_write*() return values at start up
     
     If an error occurs at starting the stream, snd_pcm_write*() should return
     an error value instead of the size to be written.
   - Fix PCM auto-start conditions
     
     Fix the PCM auto-start conditions
     
     - The capture stream should be started the PCM anyway before reads
     - Fixed the endless poll() when the written size doesn't fit to the
       buffer size due to lack of auto-start
   - Fix noisy output of dmix with two periods
     
     Fixed the noisy output of dmix with two (or less) periods.
     The dmix tends to give noise or XRUN when running with two periods
     because of its implementation nature.  To avoid this, the start
     position is aligned to the period size, so that the updates are synced
     with interrupts of slave PCM.
   - Fix compilation with assert()
     
     Fix the position of assert() after the variable declarations.
   - pcm_ladspa plugin - more verbose output
     Added more verbose output for dump() callback inspired with bug#1554 .
   - dmix: add S24_3LE support
     
     Add to the dmix plugin support for the S24_3LE sample format which is
     used by 24-bit USB devices.
     
     The optimized assembler version uses only 23 bits for sample data so
     that the lowest bit can be used for synchronization because there is no
     24-bit cmpxchg instruction.
   - dmix: fix interleaved check
     
     When checking that samples are properly interleaved, use the actual
     sample size instead of always assuming 16 bits.
   - Remove bogus ATTRIBUTE_UNUSED
     
     Removed bogus ATTRIBUTE_UNUSED.
   - Fix infinite loop in snd_pcm_wait()
     
     Fix possible infinite loop in snd_pcm_wait() with direct plugins
     when XRUN occurs during poll.
   - Do not abort in snd_xxx_close() functions
     
     Remove several memory leaks by not aborting prematurely from a
     snd_xxx_close() function when some operation fails.
     This can happen when a USB device was unplugged.
   - allow changing of device directory path
     
     Add configuration options to change the default device path from the
     default /dev/snd.  This is useful for embedded systems that do not want
     subdirectories in /dev.
   - pcm - fix the buffer allocation for NONINTERLEAVED mmap access
     
     The previous code did not allocated a separate buffer for all channels
     when a NONINTERLEAVED access was used. The result was that only one
     "shared" buffer was incorrectly allocated.
     
     Also, the code was a bit cleaned (cosmetic change only).
   - Fix S24_BE format conversions
     
     Fix S24_BE format conversions by René Rebe <rene@exactcode.de>.
   - Support multi-card/device for direct plugins
     
     - Support multi-card/device for dmix/dsnoop/dshare plugins
       The unique ipc key is calculated based on card/device/sub index
     
     - Clean up and share the code among all d* plugins
     
     - Refer the defaults.pcm.* configuration
       The base ipc_key number, ipc_gid and ipc_perm are referred.
   - pcm laspa plugin - Added credits to MediaNet AG
   - Fix infinite parse of recursive definitions
     
     Fixed the infinite parse (and eventually segfault) of recursive definitions.
     Also fixed the parse of a string slave PCM of direct plugins.
   - rate plugin: optimize calculation of the continuous buffer part
     
     When calculating the continuous part till the end of the buffer, we can
     use the slave_frames value that has already been calculated by
     snd_pcm_mmap_begin().
   - rate plugin: fix fragment size calculation
     
     When calculating the size of the second fragment, do not assume that the
     entire size is one period size (which is not true in the draining state)
     but use the actual size passed by the caller.
   - rate plugin: wait for data to be drained
     
     When draining, wait for the slave device to become ready to prevent
     committing more data than would have been available in the buffer.
   - Fix restoration of PCM open mode
     
     The original PCM open mode was lost by the change of default non-blocking
     open.  The patch fix the restoration of the original open mode.
   - Add init callback to extplug
     
     - Fix the hw constraints of extplug
     - Add init callback to extplug
   - Fixes S16 byte swapping with generic dmix code
     
     Here's a patch for generic dmix which fixes S16 byte swapping.
     
     Tested on powerpc with snd-usb-audio.  (Without the patch I get crackling.)
     
     Signed-off-by: Juergen Kreileder <jk@blackdown.de>
   - abort snd_pcm_dmix_drain when state is SND_PCM_STATE_XRU
     From: Sascha Sommer <saschasommer@freenet.de>
     
     this is a fix for bug 0001559.
     Unlike my first guesses the real problem is not in the kernel driver but in
     alsa-lib. Whenever the current dmix status is xrun and snd_pcm_dmix_drain
     gets called the process will hang forever in the poll function. The reason is
     that poll gets called even though the timer already stopped.
     As described in the bugtracking system this bug was not noticable with alsa
     versions that used the old IOCTLS because the SNDRV_TIMER_IOCTL_STOP ioctl
     never reached the timer kernel module.
     
     Attached patch fixes this problem for alsa-lib 1.0.10 by simply calling
     snd_pcm_dmix_drop when snd_pcm_dmix_drain gets called in the state
     SND_PCM_STATE_XRUN.
   - Abort from snd_pcm_dshare_drain in XRUN state
     
     Fixed the hang-up in snd_pcm_dshare_drain() when the state is XRUN.
   - direct plugins - fixed ipc_gid initialization when gid specified as number
   - pcm dump() routines update: use spaces to indent texts
   - fix compilation with gcc 2
     
     Fix compilation with gcc 2.* by removing a superfluous variable definition.
   - Fix buffer size handling of direct plugins
     
     Introduce "max_periods" option to specify the max number of periods
     per buffer to each plugin.
     
     - When max_periods = -1, the fixed buffer size as the slave size is
       used (old behavior).
     - When max_periods = 0 (or 1), the number of periods is variable
       between 2 and the slave buffer size.
     - When max_periods greater than 2 is given, it specifies the max
       periods of that pcm explicitly.
     
     When no option is given in the PCM defintion, the value
     "defaults.pcm.dmix_max_periods" is referred as default. 
     The default value is 0, as defined in alsa.conf.
     You can override this in ~/.asoundrc or /etc/asound.conf as you like.
   - Fix 32/64bit problem with multi plugin
     
     Fix the problems of multi plugin with 32bit apps on 64bit kernel.
     The forward/backward of hw plugin are fixed, too.
   - Finer sync of dmix in delay callback
     
     Sync pointers in delay callback in dmix.  This solves some problems
     of aoss with apps that don't check poll_revents.
     
     The rate plugin is fixed to call delay of slave appropriately, too.
   - Allow negative coefficients in route plugin
     
     Allow negative coefficients in route plugin (when handled as float).
   - Fix meter plugin
     
     Fix the wrong mmap with meter plugin.
   - LADSPA plugin: fix compilation
     
     Fix a typo in the LADSPA plugin.
   - Fix segfault with PCM rate plugin
     
     Fix segfault with PCM rate plugin (bug#1878)
   - Fix generation of IEC958 subframes
     From: Nicolas Boullis <nboullis@debian.org>
     
     While working on an ALSA driver for the audio part of em8300-based MPEG
     decoder boards (Sigma Designs' Hollywood+ boards and Creative Labs' DXR3
     boards), I think I discovered a bug in the code that generates IEC958
     subframes from linear samples (iec958 plugin): M and W preambles are
     swapped, and B preambles should only be used on even subframes. The
     attached patch fixes this issue.
   - Fix compile error
     
     Fix the declarations and code.
   - big ALSA LADSPA plugin rewrite for multiple channel LADSPA plugins
     
     This is major rewrite of the LADSPA plugin to satisfy requirements for
     the LADSPA plugins with multiple audio inputs and / or outputs.
   - ladspa plugin - SIGSEGV fix when label is not specified
   - Fix compile warnings
     
     Fix compile warnings about cast signedness.
   - snd_pcm_set_params() - added workaround for vortex driver
   - dmix - Allow more flexible buffer sizes
     
     With the patch, dmix allows apps to use more flexible buffer sizes.
     The max buffer size is unlimited, and the minimal buffer size is
     (period size * 2).  The buffer size is aligned to period size.
     
     The period size is still bound to the period size of slave PCM.
     
     To back to the old behavior (the fixed buffer size), you can set
     
        defaults.pcm.dmix_variable_buffer false
     
     in your configuration.
   - Fix extplug->channels initialization
     
     Fixed the missing initialization of extplug->channels in hw_params.
   - Fix timer read from 32bit user-space on 64bit kernel
     
     snd_timer_tread struct is a bad design for 32/64bit compatibility,
     and reading this struct on 32bit program returns zero.  This results
     in tight poll looping (bug#1938, #1945).
     
     For avoiding this bug, now more bigger buffer is read to cover the
     64bit tread struct, too.  Also this optimizes the read without
     checking -EAGAIN in the case both user-space and kernel have the same
     tread size.
   - Add support for S32_3LE and byte-swapped S16/S32 to softvol
     
     Here's a patch which adds support for S24_3LE and byte-swapped S16 and
     S32 to softvol.  I've tested S24_3LE and byte-swapped S16 on powerpc
     with snd-usb-audio.  All other cases are untested so far.
     (Config at http://blog.blackdown.de/static/alsa/USB-Audio.conf)
     
     Signed-off-by: Juergen Kreileder <jk@blackdown.de>
   - Use snd_user_file() in pcm_ladpsa.c
     
     Use snd_user_file() in pcm_ladpsa.c to get rid of wordexp.
   - Revert the last fix: finer sync of dmix in delay callback
     
     The fix to enable finer sync of dmix in delay callback seems
     rather harmful for some apps like xmms on SMP.
     The problem of aoss was solved by max_periods=0, so better to
     revert this change.
   - Fixed snd_pcm_set_params() error code
   - alsa-lib - added pcm_errors section
   - alsa-lib - added ENOTTY and ENODEV to pcm_errors section
   - Fix compile warnings
     
     Fix compile warnings by adding cast.
   - Fix PCM without control/status mmap
     
     Fix the update of appl_ptr via mmap_commit when control/status structs
     are not mmapped (e.g. 32bit compatible mode on 64bit kernel).
   - Fix errors in partial reads/writes with rate plugin
     
     Fix errors in partial reads/writes (e.g. draining) with rate plugin.
   - Make plugin functions static
     
     Make plugin functions that are not referred from others static.
   - Fix segfault of iec958 plugin with preamble
     
     Fix segfault of iec958 plugin with preamble (bug#1571).
   - Move snd_is_local() to socket.c
     
     Move snd_is_local() to socket.c since it's used in control_shm, too.
   - Allow partial build with selected components
     
     Add --enable-* and --with-pcm-plugins configure options for partial builds.
     
     User can choose the core components (pcm, mixer, rawmidi, hwdep, seq, instr)
     via --enable-xxx or --disable-xxx option.  As default, all components are
     enabled.
     
     The PCM plugins to build can be selected via --with-pcm-plugins option.
     For example, to build only rate and linear plugin, pass
       --with-pcm-plugins=rate,linear
     Passing "all" will select all plugins (it's the default value).
     
     The plug plugin will select linear and copy plugins automatically.
     The other auto conversions of plug plugin are enabled only when the
     corresponding plugin is selected.
   - Minor optimization on mmap
     
     Minor optimization on mmap.
 + PCM Plugin API
   - Create rate converter plugin SDK
     
     Created a new rate converter plugin SDK.
     A rate converter can be replaced as an extra plugin now.
     The default rate converter is a built-in linear converter.
     
     You can find a sample external converter in alsa-plugins package.
   - Fix declaration of snd_pcm_ladspa_open()
     
     Fix declaration of snd_pcm_ladspa_open().
 + RawMidi API
   - Do not abort in snd_xxx_close() functions
     
     Remove several memory leaks by not aborting prematurely from a
     snd_xxx_close() function when some operation fails.
     This can happen when a USB device was unplugged.
   - allow changing of device directory path
     
     Add configuration options to change the default device path from the
     default /dev/snd.  This is useful for embedded systems that do not want
     subdirectories in /dev.
   - Fix infinite parse of recursive definitions
     
     Fixed the infinite parse (and eventually segfault) of recursive definitions.
     Also fixed the parse of a string slave PCM of direct plugins.
   - alsa-lib virtual rawmidi device: fixed typo (NONBLOCK mode)
     
     See bug#1821 for details.
 + Sequencer API
   - Fix compile warnings
     
     Fix trivial compile warnings.
   - Do not abort in snd_xxx_close() functions
     
     Remove several memory leaks by not aborting prematurely from a
     snd_xxx_close() function when some operation fails.
     This can happen when a USB device was unplugged.
   - fix a typo
     
     Fix a memory leak in an error path of snd_seq_hw_open().
   - allow changing of device directory path
     
     Add configuration options to change the default device path from the
     default /dev/snd.  This is useful for embedded systems that do not want
     subdirectories in /dev.
   - Fix infinite parse of recursive definitions
     
     Fixed the infinite parse (and eventually segfault) of recursive definitions.
     Also fixed the parse of a string slave PCM of direct plugins.
   - remove SND_SEQ_CLIENT_{DUMMY,OSS} symbols
     
     The SND_SEQ_CLIENT_{DUMMY,OSS} are private to the kernel and should
     never have been put into the public API header.
 + Timer API
   - Do not abort in snd_xxx_close() functions
     
     Remove several memory leaks by not aborting prematurely from a
     snd_xxx_close() function when some operation fails.
     This can happen when a USB device was unplugged.
   - allow changing of device directory path
     
     Add configuration options to change the default device path from the
     default /dev/snd.  This is useful for embedded systems that do not want
     subdirectories in /dev.
   - Suppress warning messages from old timer
     
     Suppress warning messages when the new timer ioctl isn't available
     (happening when using dmix in the new alsa-lib with older kernels).
 + /Makefile.am
   - Allow partial build with selected components
     
     Add --enable-* and --with-pcm-plugins configure options for partial builds.
     
     User can choose the core components (pcm, mixer, rawmidi, hwdep, seq, instr)
     via --enable-xxx or --disable-xxx option.  As default, all components are
     enabled.
     
     The PCM plugins to build can be selected via --with-pcm-plugins option.
     For example, to build only rate and linear plugin, pass
       --with-pcm-plugins=rate,linear
     Passing "all" will select all plugins (it's the default value).
     
     The plug plugin will select linear and copy plugins automatically.
     The other auto conversions of plug plugin are enabled only when the
     corresponding plugin is selected.
 + /alsalisp/Makefile.am
   - Don't install alsalisp
     
     alsalisp binary isn't actually used by any programs or alsa-lib itself.
 + /include/Makefile.am
   - Create rate converter plugin SDK
     
     Created a new rate converter plugin SDK.
     A rate converter can be replaced as an extra plugin now.
     The default rate converter is a built-in linear converter.
     
     You can find a sample external converter in alsa-plugins package.
 + /modules/Makefile.am
   - Allow partial build with selected components
     
     Add --enable-* and --with-pcm-plugins configure options for partial builds.
     
     User can choose the core components (pcm, mixer, rawmidi, hwdep, seq, instr)
     via --enable-xxx or --disable-xxx option.  As default, all components are
     enabled.
     
     The PCM plugins to build can be selected via --with-pcm-plugins option.
     For example, to build only rate and linear plugin, pass
       --with-pcm-plugins=rate,linear
     Passing "all" will select all plugins (it's the default value).
     
     The plug plugin will select linear and copy plugins automatically.
     The other auto conversions of plug plugin are enabled only when the
     corresponding plugin is selected.
 + /src/Makefile.am
   - Allow partial build with selected components
     
     Add --enable-* and --with-pcm-plugins configure options for partial builds.
     
     User can choose the core components (pcm, mixer, rawmidi, hwdep, seq, instr)
     via --enable-xxx or --disable-xxx option.  As default, all components are
     enabled.
     
     The PCM plugins to build can be selected via --with-pcm-plugins option.
     For example, to build only rate and linear plugin, pass
       --with-pcm-plugins=rate,linear
     Passing "all" will select all plugins (it's the default value).
     
     The plug plugin will select linear and copy plugins automatically.
     The other auto conversions of plug plugin are enabled only when the
     corresponding plugin is selected.
 + ALSA Lisp
   - remove superfluous free() checks
     
     free() correctly handles NULL pointers, so we can omit explicit checks
     for that condition.
 + Configuration
   - Fix a missing line in PMacToonie.conf
     
     Add a missing line "playback.pcm {" in PMacToonie.conf (bug#1594).
   - snd-ca0106: update mixer controls names from SPDIF to IEC958
   - Fix check of nonblock option
     
     Fix the check of nonblock option for all hw layer.
     Instead of passing in asound.conf, check the option in snd_pcm_hw_open()
     so that the nonblock option is referred in the case of "type hw ..." style
     definition, too.
   - Add "nonblock" option for hw layer
     
     Added a new "nonblock" option for hw layer.  This controls the non-blocking
     "open" mode as default.
     
     This option is set to TRUE as the default configuration.  If the old behavior
     is preferred, set "defaults.pcm.nonblock" to 0 in /etc/asound.conf.
   - Add missing alias entries
     
     Added the missing alias entries.
   - Fix configuration for Aureon and Prodigy71 boards
     
     Fixed the default configuration of Aureon and Prodigy71 boards
     to use dmix/dsnoop.  Added a new alias for Prodigy71LT.
   - remove duplicate parameter
     
     Remove the duplicate SUBDEV argument definition that got accidentally
     added in the last patch.
   - Remove bad assert
     From: Pierre Ossman <drzeus-list@drzeus.cx>
     
     Freeing the global config update structure when it had been created
     without any configs present caused an assertion to trigger. Since this
     is a valid scenario and the assertion didn't really protect against
     anything, it should simply be removed. Attached patch does exactly that.
   - Add channels parameter to surround40/51 definitions
     
     Add channels parameter to surround40/51 definitions for drivers
     using a single device.
   - Fix free of uninitialized pointer
     
     Fix free of uninitialized pointer (bug#1576).
   - remove superfluous free() checks
     
     free() correctly handles NULL pointers, so we can omit explicit checks
     for that condition.
   - Support multi-card/device for direct plugins
     
     - Support multi-card/device for dmix/dsnoop/dshare plugins
       The unique ipc key is calculated based on card/device/sub index
     
     - Clean up and share the code among all d* plugins
     
     - Refer the defaults.pcm.* configuration
       The base ipc_key number, ipc_gid and ipc_perm are referred.
   - Fix infinite parse of recursive definitions
     
     Fixed the infinite parse (and eventually segfault) of recursive definitions.
     Also fixed the parse of a string slave PCM of direct plugins.
   - Remove superfluous wordexp.h inclusion
   - Fix buffer size handling of direct plugins
     
     Introduce "max_periods" option to specify the max number of periods
     per buffer to each plugin.
     
     - When max_periods = -1, the fixed buffer size as the slave size is
       used (old behavior).
     - When max_periods = 0 (or 1), the number of periods is variable
       between 2 and the slave buffer size.
     - When max_periods greater than 2 is given, it specifies the max
       periods of that pcm explicitly.
     
     When no option is given in the PCM defintion, the value
     "defaults.pcm.dmix_max_periods" is referred as default. 
     The default value is 0, as defined in alsa.conf.
     You can override this in ~/.asoundrc or /etc/asound.conf as you like.
   - Add PCM definitions dpl and dpl2
     
     Add PCM definitions "dpl" and "dpl2" in pcm/dpl.conf.
     Include the file via
     	<confdir:pcm/dpl.conf>
     for use.
   - snd-ca0106 Fixed SPDIF output.
     
     Example failure error message before fix:
     
     speaker-test 0.0.8
     
     Playback device is spdif
     Stream parameters are 48000Hz, S16_LE, 2 channels
     Using 16 octaves of pink noise
     ALSA lib setup.c:549:(add_elem) Cannot obtain info for CTL elem (MIXER,'SPDIF Front',0,0,0): No such file or directory
     Playback open error: -2,No such file or directory
   - dmix - Allow more flexible buffer sizes
     
     With the patch, dmix allows apps to use more flexible buffer sizes.
     The max buffer size is unlimited, and the minimal buffer size is
     (period size * 2).  The buffer size is aligned to period size.
     
     The period size is still bound to the period size of slave PCM.
     
     To back to the old behavior (the fixed buffer size), you can set
     
        defaults.pcm.dmix_variable_buffer false
     
     in your configuration.
   - Make dmix/dsnoop as default PCM for ICE1724
     
     Make dmix/dsnoop as default PCM for ICE1724.
   - Make dmix/dsnoop as default for ICE1712
     
     Make dmix/dsnoop as default for ICE1712 (bug#1659).
 + Documentation
   - Add description about non-blocking behavior
     
     Add description about the default non-blocking behavior.
   - Add description for new configure options
     
     Add description for new configure options.
     Also fixed some typos.
 + External PCM Filter Plugin SDK
   - Add init callback to extplug
     
     - Fix the hw constraints of extplug
     - Add init callback to extplug
 + External Rate Converter Plugin SDK
   - Create rate converter plugin SDK
     
     Created a new rate converter plugin SDK.
     A rate converter can be replaced as an extra plugin now.
     The default rate converter is a built-in linear converter.
     
     You can find a sample external converter in alsa-plugins package.
 + Filename helpers
   - Fixed compilation when HAVE_WORDEXP_H is not defined
   - snd_user_file - keep doxygen happy
   - Add a workaround for systems without wordexp
     
     Add a workaround for systems without wordexp (e.g. ulibc).
 + Simple Abstraction Mixer Modules
   - Fix compile warnings
     
     Fix trivial compile warnings.
 + Socket helpers
   - Move snd_is_local() to socket.c
     
     Move snd_is_local() to socket.c since it's used in control_shm, too.
 + Test/Example code
   - Added pcm_min test & example - minimalistic pcm output
   - pcm_min - blocking mode is default - remove extra snd_pcm_nonblock() call
   - Fix compile errors/warnings
     
     Fix compile errors/warnings.
     omixer is removed since ordinary_mixer isn't supported any more.
   - pcm_min.c example - corrected comment
   - Remove code from check_PROGRAMS
     
     Remove code from check_PROGRAMS (bug#1579).
 + Utils
   - Changed permissions for scripts and added .hgignore file
     
     Initial version of .hgignore file
  • alsa-plugins
 + Core
   - Add samplerate rate converter plugin
     
     Added a rate converter pluging using libsamplerate.
     The plugin is built only when libsamplerate is detected by configure.
     
     See doc/samplerate.txt for usage.
     
     This plugin is released under GPL (to follow the license of
     libsamplerate), not LGPL.
   - Add a52 output plugin
     
     Added (experimental) a52 output plugin.
     The plugin requires libavcodec as the audio encoding engine.
     
     See doc/a52.txt for the usage.
   - Structure reorganziation, added polyp plugin
     
     - Reorganized the directory structure:  Now each plugin(s) is loaded
       in own subdirectory.
     
     - Added polypaudio plugin by Pierre Ossman <ossman@cendio.se>
     
     - Fixed COPYING file to LGPL (under which all codes are released, so far)
   - Add upmix and vdownmix plugins
     
     Added PCM upmix and vdownmix plugins.
     
     The upmix plugin is for upmixing to 4.0 or 5.1 surrounds
     by simple copying (and delay line for rear).
     
     The vdownmix plugin is a kind of "virtual surround", which
     downmixes 4.0 or 5.1 input to 2.0 output with some effect.
   - Change autoconf requirement to 2.59
     
     Change AC_PREREQ to 2.59.
     
     Also, requires ALSA >= 1.0.11 (for bugfix of explug).
   - Fixes for polyp plugin
     From: Pierre Ossman <ossman@cendio.se>
     
     There shouldn't be any more API changes until polypaudio 0.8 that affect
     this plugin. I am working on supporting capture volume and mute
     switches, but that should be a strict addition (i.e. it can wait until
     the next release if things get tight).
 + /Makefile.am
   - Add samplerate rate converter plugin
     
     Added a rate converter pluging using libsamplerate.
     The plugin is built only when libsamplerate is detected by configure.
     
     See doc/samplerate.txt for usage.
     
     This plugin is released under GPL (to follow the license of
     libsamplerate), not LGPL.
   - Add a52 output plugin
     
     Added (experimental) a52 output plugin.
     The plugin requires libavcodec as the audio encoding engine.
     
     See doc/a52.txt for the usage.
   - Structure reorganziation, added polyp plugin
     
     - Reorganized the directory structure:  Now each plugin(s) is loaded
       in own subdirectory.
     
     - Added polypaudio plugin by Pierre Ossman <ossman@cendio.se>
     
     - Fixed COPYING file to LGPL (under which all codes are released, so far)
   - Add upmix and vdownmix plugins
     
     Added PCM upmix and vdownmix plugins.
     
     The upmix plugin is for upmixing to 4.0 or 5.1 surrounds
     by simple copying (and delay line for rear).
     
     The vdownmix plugin is a kind of "virtual surround", which
     downmixes 4.0 or 5.1 input to 2.0 output with some effect.
 + /ctl/Makefile.am
   - Structure reorganziation, added polyp plugin
     
     - Reorganized the directory structure:  Now each plugin(s) is loaded
       in own subdirectory.
     
     - Added polypaudio plugin by Pierre Ossman <ossman@cendio.se>
     
     - Fixed COPYING file to LGPL (under which all codes are released, so far)
 + A52 Output plugin
   - a52 plugin - Fix iec958 frames for S16-BE
     
     - Fix iec958 header frames for S16-BE
     - Add more comments in the code
   - Add a52 output plugin
     
     Added (experimental) a52 output plugin.
     The plugin requires libavcodec as the audio encoding engine.
     
     See doc/a52.txt for the usage.
   - Fix XRUN detection in a52 plugin
     
     Check XRUN in the write function and pointer callback of a52 plugin.
   - Accept integer for card option
     
     Accept integer value for card option, as found in the example
     in a52.txt.
 + Automatic upmix / downmix plugins
   - Misc fixes for upmix plugin
     
     - Add channel option to specify the output channels explicitly
     - Fix 6-channel input
   - Add upmix and vdownmix plugins
     
     Added PCM upmix and vdownmix plugins.
     
     The upmix plugin is for upmixing to 4.0 or 5.1 surrounds
     by simple copying (and delay line for rear).
     
     The vdownmix plugin is a kind of "virtual surround", which
     downmixes 4.0 or 5.1 input to 2.0 output with some effect.
 + Documentation
   - Fix a typo
     
     Fix a typo in file name.
   - Add samplerate rate converter plugin
     
     Added a rate converter pluging using libsamplerate.
     The plugin is built only when libsamplerate is detected by configure.
     
     See doc/samplerate.txt for usage.
     
     This plugin is released under GPL (to follow the license of
     libsamplerate), not LGPL.
   - Misc fixes for upmix plugin
     
     - Add channel option to specify the output channels explicitly
     - Fix 6-channel input
   - Add a52 output plugin
     
     Added (experimental) a52 output plugin.
     The plugin requires libavcodec as the audio encoding engine.
     
     See doc/a52.txt for the usage.
   - Update polyp plugin
     From: Pierre Ossman <ossman@cendio.se>
     
     Here is a final update to the plugin and the documentation. This release
     adds capture volume and mute switches. This should also be the last API
     change in polypaudio before the next release, so this plugin should be
     stable for now.
   - Fix Makefile.am entry
     
     Fix Makefile.am entry for README-polyp and -jack.
   - Add upmix and vdownmix plugins
     
     Added PCM upmix and vdownmix plugins.
     
     The upmix plugin is for upmixing to 4.0 or 5.1 surrounds
     by simple copying (and delay line for rear).
     
     The vdownmix plugin is a kind of "virtual surround", which
     downmixes 4.0 or 5.1 input to 2.0 output with some effect.
 + Jack PCM plugin
   - Allow concurrent runs with different names
     
     Allow concurrent use of alsa-jack plugin with different names.
     The patch taken from ALSA bug#1790.
   - Fix a compile warning
     
     Fix a minor compile warning.
   - jack plugin closes stdin if jack is unavailable
     
     the jack plugin closes stdin if the pcm interfaces is opened but jack
     isn't running. Initializing the file descriptors to -1 fixes the problem.
     
     From: Mikael Magnusson <mikma264@gmail.com>
 + OSS Mixer -> ALSA Control plugin
   - Fix misc compile warnings
     
     Fix misc ompile warnings with ctl/pcm OSS plugins.
   - Check the malloc error
     
     Check the malloc error properly.
   - Structure reorganziation, added polyp plugin
     
     - Reorganized the directory structure:  Now each plugin(s) is loaded
       in own subdirectory.
     
     - Added polypaudio plugin by Pierre Ossman <ossman@cendio.se>
     
     - Fixed COPYING file to LGPL (under which all codes are released, so far)
 + Polyp -> ALSA plugin
   - Fix handling of ctl elements
     From: Pierre Ossman <ossman@cendio.se>
     
     Seems I fumbled the control event code a bit. Only one event at a time
     got through. Here is a fix so that all four elements can change in one go.
   - Update polyp plugin
     From: Pierre Ossman <ossman@cendio.se>
     
     Here is a final update to the plugin and the documentation. This release
     adds capture volume and mute switches. This should also be the last API
     change in polypaudio before the next release, so this plugin should be
     stable for now.
   - Fixes for polyp plugin
     From: Pierre Ossman <ossman@cendio.se>
     
     There shouldn't be any more API changes until polypaudio 0.8 that affect
     this plugin. I am working on supporting capture volume and mute
     switches, but that should be a strict addition (i.e. it can wait until
     the next release if things get tight).
   - Properly terminate stream in polypaudio plugin
     
     Some applications like to call prepare over and over again, recreating
     the stream each time. Previously we just cleaned up the local end each
     time, but this makes sure the server also releases its resources.
     
     Signed-off-by: Pierre Ossman <ossman@cendio.se>
   - Incorrect revents in polypaudio plugin
     
     The revent flags POLLIN/POLLOUT got switched in the Polypaudio plugin.
     Most applications check both so it went unnoticed until now.
     
     Signed-off-by: Pierre Ossman <ossman@cendio.se>
   - Make polypaudio plugin thread safe
     
     Add a mutex to make sure that the Polypaudio plugin is thread safe.
     
     Signed-off-by: Pierre Ossman <ossman@cendio.se>
 + Rate Converter plugins
   - Add samplerate rate converter plugin
     
     Added a rate converter pluging using libsamplerate.
     The plugin is built only when libsamplerate is detected by configure.
     
     See doc/samplerate.txt for usage.
     
     This plugin is released under GPL (to follow the license of
     libsamplerate), not LGPL.
  • alsa-utils
 + Core
   - Add WAV file playback support to speaker-test
     
     Add WAV file playback support to speaker-test.
     The support is still limited to S16_LE, and doesn't refer to csv file yet.
 + ALSA Control (alsactl)
   - Remove obsolete power command from alsactl
     
     Remove obsolete power command from alsactl.
 + Speaker Test
   - Improve buffer/period set up in speaker-test
     
     Improve buffer/period set up in speaker-test.
     
     - Don't ignore -b and -p options but use them if specified
     - Clean up and improvement of messy buffer/period setup codes
     - Add -P option for specifying number of periods explicitly
   - Fix missing commas
     
     Fixed missing commas in array elements (ALSA bug#1938).
   - Add --nloops option and fix manpage
     
     - Added --nloops option to specify the number of loops
     - Fixed man page of speaker-test
   - Fix a typo in speaker-test help text
     
     Fix a typo in speaker-test help text.  Updated ja.po, too.
   - Make speaker-test compatible with dmix by default.
   - Avoid unnecessary drain/restart in speaker-test
     
     Avoid unnecessary drain/restart in speaker-test when the buffer
     is enough small.
   - speaker-test - Fix missing i18n
     
     Add the gettext tags to newly added texts.
   - speaker-test: Fix version reporting.
   - Tentative fix for speaker-test WAV with 5 or more channels
     
     Fix the WAV file name for center/lfe.  Use the existing
     "Rear_Center.wav" for LFE as a workaround.
   - Add missing comma
     
     Add a missing comma in the last fix...
   - Fix compile on big-endian arch
     
     Fix compile on big-endian arch.
   - Remove loops after errors
     
     Don't retry after fatal errors.
   - Add WAV file playback support to speaker-test
     
     Add WAV file playback support to speaker-test.
     The support is still limited to S16_LE, and doesn't refer to csv file yet.
 + alsaconf
   - Fix a text in alsa-utils
     
     Fix a text in alsa-utils after proof-reading.
   - Minor clean up of bashism
     
     Minor clean up of bashism, replaced with normal test.
   - Fix PCI class and name extraction in alsaconf
     
     - Allow all PCI class 04xx, not only 040x
     - Fix the extraction of device name from lspci output
     
     ALSA bug#1935
   - Use amixer -s option
     
     Optimize to use amixer with -s option.
 + amixer
   - amixer - Add -s option
     
     - Add -s option to read from stdin the command sequentially.
     - Suppress unneeded warnings in sset.
 + aplay/arecord
   - Fix a typo in manpage
     
     Fix a typo in manpage of aplay.
   - Don't show invalid plug example in the error message of aplay
     
     Don't show invalid examples of usage with plug prefix
     in the error message of aplay/arecord.
   - alternative peak meter for aplay
     From: Dirk Jagdmann <doj@cubic.org>
     
     This patch adds an alternative peak meter for aplay/arecord which is
     enabled via three "-v" command line arguments. This new mode differs
     from the old in a larger meter, no linefeeds for every meter update and
     a static maximum peak (for 1s).
   - split interleaved files in arecord when reaching 2GB
     From: Dirk Jagdmann <doj@cubic.org>
     
     This patch will split files in chunks of aprox. 2GB in the interleaved
     recording mode of arecord. This is meant to overcome the 2GB filesize
     limit of .wav files, which is easily reached when recording multiple
     channels.
 + cvscompile
   - Add exec permission to cvscompile
  • alsa-tools
 + Core
   - Fix exec permission of cvscompile and add .hgignore
 + Digigram Echo Mixer
   - Support both GTK+1.2 and GTK+2.x
     
     Support both GTK+ 1.2 and GTK+ 2.x in single configure scripts.
     GTK+ 2.x is used unless --with-gtk2=no is given.
     
     If you have no gtk1 or gtk2 devel packages, use configure.in-gtk1
     or -gtk2 and do autoreconf.
 + Envy24 Control
   - envy24control - Delta 1010LT driver has Word Clock Status now
     
     See ALSA bug#1806 for details.
   - Fix envy24control digital input on Terratec DMX6fire
     
     This patch fixes typo in hardware.c that prevented front digital inputs being
     selected on the Terratec DMX6fire.  Also renames the digital input controls
     for greater clarity with this card.
     
     Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
   - Rationalise envy24control controls specific to Terratec DMX6fire
     
     Remove separate 'breakbox led' selector and use led to indicate 'front line
     in' is selected (as it should be); combine digital input select to a
     one-of-three selector; change various labels; set default pcm mixer channels
     to 6.
     
     Signed-off-by:  Alan Horstmann <gineera@aspect135.co.uk>
   - envy24control wordclock text patch
     From: John Rigg <ad@sound-man.co.uk>
     
     I reported a bug in envy24control about the text displayed when using
     the BNC word clock input on a Delta 1010 (bug id 0001677). It says
     `No signal' when locked and `Locked' when there's no signal. I wasn't
     sure how to submit a patch using the Bugtrack interface, so I've
     attached it here (this fixes it in alsa-tools-1.0.10).
   - envy24control - Fix/clean up checks of DMX 6fire
     
     Fix/clean up checks of DMX 6fire.
   - Change on-screen appearance of envy24control
     
     Re-arrange envy24control on-screen; put digital mixer meter in outer frame;
     split input and pcm mixer meters; add scroll windows on all notebook pages;
     re-layout button boxes; add options -w and -t; add rt-click menu; add pixmap
     test to levelmeters.c
     
     Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
   - Change scroll policy in envy24control
     
     Change gtk scroll policy for the main notebook pages in envy24control from
     ALWAYS to AUTOMATIC;  also raise envy24control version.
     
     Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
   - Fix for Delta boards
     
     Fix the element types of some delta-specific controls to follow the change
     in the driver.
   - Tidy up DMX6fire eeprom checks
     
     Multiple instances of DMX6FIRE eeprom checks in envy24control replaced with a
     variable.
     
     Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
   - envy24control: missing command line option help text
     From: Dirk Jagdmann <doj@cubic.org>
     
     this patch adds the help description of the "-M" command line option.
   - Update envy24control man page
     
     Update envy24control man page for options -t and -w.
     
     Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
   - envy24control - Tidy up redundant declarations
     
     Remove declarations in envy24control not needed following my previous patches.
     
     Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
   - envy24control - select external clock source for WordClock
     
     See bug#1806 for more details.
   - Support both GTK+1.2 and GTK+2.x
     
     Support both GTK+ 1.2 and GTK+ 2.x in single configure scripts.
     GTK+ 2.x is used unless --with-gtk2=no is given.
     
     If you have no gtk1 or gtk2 devel packages, use configure.in-gtk1
     or -gtk2 and do autoreconf.
 + RME Digi Control
   - Support both GTK+1.2 and GTK+2.x
     
     Support both GTK+ 1.2 and GTK+ 2.x in single configure scripts.
     GTK+ 2.x is used unless --with-gtk2=no is given.
     
     If you have no gtk1 or gtk2 devel packages, use configure.in-gtk1
     or -gtk2 and do autoreconf.
 + ac3dec (Dolby Digital Decoder)
   - Fix exec permission of cvscompile and add .hgignore
   - Fix compile warnings
     
     Fix compile warnings with the recent gcc.
   - Fix compile error with the recent gcc
     
     Fix compile error with the recent gcc.
 + as10k1 (EMU10K1+ DSP Assembler)
   - Fix exec permission of cvscompile and add .hgignore
 + ld10k1 (EMU10K1+ DSP Code Loader)
   - Add Equalizer support for emu10k1 Audigy
     From: Piotr Tajdus <aegis@op.pl>
     
     Added the equalizer support for emu10k1 (Audigy only).
   - ld10k1 - Fix eq10 patch for SB Live
     From: Piotr Tajdus <aegis@op.pl>
     
     There were problems with EQ10 on Sound Blaster (caused by ACCUM or macmv
     instruction, i am not sure), so i made some changes. Now equalizer
     should work also with SB Live.
  • alsa-oss
 + Core
   - Add .hgignore and fix permission of cvscompile
 + Mixer Emulation
   - Fix the handling of playback elements without switch
     
     Fix the handling of playback elements without switch (e.g. softvol controls).
     Taken from bug#1278.
  • alsa-firmware
 + Core
   - Fix exec permission to cvscompile and add .hgignore
 + Digigram Echo Audio Firmware
   - Echoaudio - new firmware
     
     This patch removes the DSP firmware for the Gina3G and replaces the Layla3G
     DSP firmware with the new version which works with both cards.
     
     Signed-off-by: Giuliano Pochini <pochini@shiny.it>
   - Removed Gina3gDSP.c
Custom Search
Personal tools
Namespaces

Variants
Actions
Navigation
wiki
Toolbox