Difference between revisions of "Changes v1.0.10 v1.0.11"

From AlsaProject
Jump to: navigation, search
(New page: ==Changelog between 1.0.10 and 1.0.11 releases== * alsa-driver + Sound Core - PCM midlevel & PCM OSS - make procfs & OSS plugin code optional - Remove superfluous quotes - A...)
 
m (Protected "Changes v1.0.10 v1.0.11" [edit=sysop:move=sysop])
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
 +
[[Changes_v1.0.10_v1.0.11_detailed1|Detailed changelog between 1.0.10 and 1.0.11]]
 +
 
==Changelog between 1.0.10 and 1.0.11 releases==
 
==Changelog between 1.0.10 and 1.0.11 releases==
  
Line 1,383: Line 1,385:
 
   + Digigram Echo Audio Firmware
 
   + Digigram Echo Audio Firmware
 
     - Echoaudio - new firmware
 
     - Echoaudio - new firmware
    - Removed Gina3gDSP.c
 
 
 
==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
 
     
 
−<