[Lunar-commits] r15146 - in moonbase/trunk/audio: alsa-driver alsa-lib alsa-utils gst-player

Florin Braescu florin at lunar-linux.org
Sun May 29 07:29:45 UTC 2005


Pe data de Dum 29 Mai 2005 10:22, Florin Braescu a scris:
> Author: florin
> Date: 2005-05-29 07:22:32 +0000 (Sun, 29 May 2005)
> New Revision: 15146
>
> Modified:
>    moonbase/trunk/audio/alsa-driver/DETAILS
>    moonbase/trunk/audio/alsa-lib/DETAILS
>    moonbase/trunk/audio/alsa-utils/DETAILS
> Log:
> bump the version from 1.0.8 to 1.0.9. many bugfixes and improvements.
>

  I attach here the changes log because it's very long and it deserves to be 
read.

  Florin
-------------- next part --------------


Changelog between 1.0.8 and 1.0.9 releases
******************************************

* alsa-driver
  + Sound Core
    - Move azx driver to alsa-kernel tree
    - Check the new unlocked/compat_ioctl
    - Add msleep_interruptible() and ssleep() wrappers
    - Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM
    - Add PC-speaker PCM driver support
    - Detection of ARM arch flags, PC-speaker hook
    - add check for kernel vsnprintf
    - MPU-401 PnP support
    - define CONFIG_X86 on X86_64
    - Don't replace existing alsasound
    - Fixed TAGS target
    - just cosmetic fix
    - release: 1.0.9rc1
    - add HPET support
    - big sync with 2.6 (joystick changes & mips tree)
    - Added MIPS driver support
    - release: 1.0.9rc2
    - fix --with-kernel/--with-build parameter handling
    - fix logic error when checking for the kernel version.h
    - fix configure.in typo
    - Fix compilation with module version on 2.2/2.4 kernels
    - Merge Gina3G and Layla3G support to a single driver
    - release: 1.0.9rc3
    - Fix CONFIG_INPUT and CONFIG_PPC_PMAC
    - fix io_remap_{page|pfn}_range checks
    - release: 1.0.9rc4
    - Fix compile options for kernel config checks
    - release: 1.0.9rc4a
    - Add comments for $CONFIG_SND
    - Use standard form for URL
    - release: 1.0.9
  + ALSA Core
    - Added workqueue implementation for 2.4 kernels (no 2.2 yet)
    - exports for 2.4 workqueue implementation
    - Export new register/unregister functions
    - Remove snd-ioctl32 entry
    - Check the new unlocked/compat_ioctl
    - Add a dummy entry for snd-ioctl32
    - Move snd-ioctl32 codes to alsa-driver
    - Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros
    - Add DEFINE_SPINLOCK() & DEFINE_RWLOCK() wrappers
    - Add msleep_interruptible() and ssleep() wrappers
    - Add newline to printk
    - Fixed 2.4 workqueue compat routines
    - Remove pm_register/pm_unregister
    - Add CONFIG_SND_GENERIC_PM
    - Add the PM code for 2.2/2.4 kernels
    - Interpret negative index as bitmask of permissible indexes
    - compatibility code for older kernels
    - fix snd_compat_msleep* exports
    - completion emulation for 2.2 kernels
    - driver model type fixes for ALSA
    - Add pm_message_t and PMSG_* for older kernels
    - Regenerated for suspend/resume fix
    - Fix inclusion of pm.h
    - Fix suspend/resume functions
    - Fix suspend/resume functions
    - Kconfig: cleanup sound menu
    - Add wait_event_interruptible_timeout() wrapper
    - add wait_event_interruptible_timeout wrapper
    - use struct task_struct instead of task_t
    - set the first argument to pm_register
    - add check for kernel vsnprintf
    - MPU-401 PnP support
    - Fix the check of new PM macros
    - Fix compilation without debug option
    - workarounds for symbols not exported in 2.2.x kernels
    - use simple_strtoul instead of simple_strtol
    - remove duplicate module alias
    - define __le16 for 2.6 kernels that do not have it
    - Fix typos
    - add HPET support
    - add HPET support
    - Reduce stack usage
    - Use vprintk()
    - Add vprintk() wrapper
    - Replace with macros for gameport initialization
    - Add compat layer for old gameport API
    - Fix compilation with older kernels
    - fix compilation with modversions
    - fix wait_ms conflict
    - Fix compile without CONFIG_PCI
    - fix pm_message_t vs. u32 in alsa
    - add PCI_Dx power states
    - Use pci_module_init() on older kernels
    - fix pci_register_driver compatibility with 2.2.x kernels
    - replace SNDRV_PCM_HW_PARAMS_RUNTIME -> SNDRV_PCM_HW_PARAMS_NORESAMPLE
    - Fix compilation with older 2.6 kernels
    - Increase timer protocol number
    - Fixed conflict of pci_module_init definition
    - Make pci_register_drivers() compat layer to 2.6 style
    - Fix compilation with module version on 2.2/2.4 kernels
    - usb-audio - add Extigy/Audigy 2 NX remote control support
    - remove superfluous MODVERSIONS definitions
    - usb-audio - 2.2.x compatibility
    - compiling problem fixed
    - Change some timer ioctls due to confliction
    - sound/core/: possible cleanups
    - fix io_remap_{page|pfn}_range checks
  + Control Midlevel
    - unlocked/compat_ioctl rewrite for control API
    - Compile fix for old ioctls
    - driver model type fixes for ALSA
    - Fix the wrong function call from ioctl
    - Control API - fix the wrong allocation for userspace controls
    - Reduce stack usage
    - Suppress debug message
  + HWDEP Midlevel
    - unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API
    - Compile fix for old ioctls
    - big sync with 2.6 (joystick changes & mips tree)
  + PCM Midlevel
    - Sumary: Fix comment of snd_pcm_lib_malloc_pages()
    - unlocked/compat_ioctl rewrite for PCM API
    - Compile fix for old ioctls
    - Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros
    - Fix 32bit calls to snd_pcm_channel_info()
    - [SPARSE] Fix __user pointers
    -  Fix rounded-up integer division bug
    -  Fix bugs with incorrectly wrapped appl_ptr
    - Add proper spin/irq locks to suspend
    - Reduce stack usage
    - Fix permissions in some /proc files
    - [Sync] Use io_remap_pfn_range
    - Use io_remap_page_range() for older kernel
    - Export missing snd_pcm_format_*()
    - sound/core/: possible cleanups
    - Fix for older kernels
    - fix io_remap_{page|pfn}_range checks
    - Make docproc happy
  + RawMidi Midlevel
    - unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API
    - Compile fix for old ioctls
    - replace schedule_timeout() with msleep()
    - replace interruptible_sleep_on_timeout() with wait_event_interruptible_timeout()
    - [SPARSE] Fix __user pointers
    - fix buffer wrap in snd_rawmidi_transmit_peek
    - fix counting of MIDI input overruns
    - remove _snd_rawmidi_runtime.trigger
    - move common code into snd_rawmidi_runtime_create/_free functions
    - move rawmidi event callback into tasklet
    - rawmidi - fix locking in drop_output and drain_input
    - rawmidi - move output trigger into a tasklet
  + Timer Midlevel
    - unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API
    - Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros
    - Fix Oops with timer notifying
    - Wake up polls and signals at timer notification
    - add HPET support
    - Reduce stack usage
    - timer - added tread semaphore
    - Add missing PAUSE ioctl
    - Change some timer ioctls due to confliction
    - fixed PAUSE ioctl for user space interface
    - sound/core/: possible cleanups
  + /arm/Makefile
    - Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM
    - Add s3c24xx i2s audio core
    - ARM AACI primecell driver
  + /isa/Makefile
    - initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
  + AC97 Codec
    - Fix silent output on some machines with AD1981x codecs
    - Simplify the general ac97 volume/switch callback
    - Enable HP jack sense for FSC Scenic-W
    - Special AC97 patch for ASUS W1000/CMI9739 laptop
    - Bind master and HP controls with hp_only quirk
    - add STAC9708 output bias mixer control
    - Fix rate setting on multiple codecs
    - Fix CM9761A codec support
    - Fix CM9761 again
    - Fix CM9761 again
    - use simple_strtoul instead of simple_strtol
    - Fix stereo mutes on Surround volume control
    - Restore the default value after rate detection
    - Add AD1986 support
    - AC97 wm9713 support
    - Fix ALC655/658/850 SPDIF playback route
    - Replace '/' with commas in ac97 codec names
    - Add AC97_SCAP_NO_SPDIF flag
    - Fix the detection of resolution of ac97 controls
    - Remove unused variables
    - Add CM9780 support, fix CM9761 SPDIF
    - Fix MC97 codec initialization
    - MC97 registers reset
    - Improve the shared-jack handling on ac97
    - fix behaviour of ac97_enum_mixer elements
    - ac97 - add the "Mic Front Input Switch" control (ALC850)
    - ac97 - fix Mic jack sharing on AD1888 codecs
    - ac97 - enable multichannel output on AD198x codecs
    - Remove obsolete mixer control
    - Fix Mic/CLFE sharing on AD1985
    - Fix a wrong bit set in AC1985 code
  + AD1816A driver
    - Add PnP ID ADS7180
  + AK4114 receiver
    - Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358
    - Added ESI Juli@ driver
    - fix typo in assignment of snd_ak4114_spdif_playback_put
    - AK4114 - fixed workqueue initialization & removed debug code
    - ak4114 (Juli@) - increased delay between statistics update & rate check
  + AK4117 receiver
    - AK4117 code - fixed cosmetic typos
  + AK4XXX AD/DA converters
    - Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358
  + ALS100 driver
    - fixes als100 not detecting opl3
  + ALS4000 driver
    - Replace with macros for gameport initialization
    - Replace pci_module_init() with pci_register_driver()
    - als4000 - Fix kernel panic with MPU401
  + ALSA Version
    - release: 1.0.9rc2
    - 1.0.9rc3
    - 1.0.9rc4
    - release: 1.0.9rc4a
  + ALSA sequencer
    - unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API
    - Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros
    - [SPARSE] Fix __user pointers
    - Fix compilation with compat support
    - remove superfluous from_timer_port parameter
    - Add module_init and module_exit entries
    - add module aliases for rtctimer and seq-dummy
    - Fix typos
    - big sync with 2.6 (joystick changes & mips tree)
    - seq - fix local variable initialization
    - Fix memory leak
    - virmidi - fix ioctl parameter passing when creating seq port
    - virmidi - fix ioctl parameter passing when setting client name
    - sound/core/: possible cleanups
  + ALSA<-OSS emulation
    - unlocked/compat_ioctl rewrite for OSS compatible drivers
    - [SPARSE] Fix __user pointers
    - [SPARSE] Use unsigned int :1 bitfields
    - fix forgotten release of semaphore in error path
    - kill dead code
    - Fix capture on OSS emulation
    - pcm_oss - fix SNDCTL_DSP_GETOPTR not working correctly
    - Reverted last patch for SNDCTL_DSP_GETOPTR fix & possible overflow fix
    - alsa-oss - improve readability of snd_pcm_oss_bytes() function
    - alsa-oss - 2nd - improved readability
    - Fix compilation on 32bit arch
  + ALSA<-OSS sequencer
    - unlocked/compat_ioctl rewrite for OSS compatible drivers
    - Remove interruptible_sleep_on_timeout().
  + AMD InterWave driver
    - fix sound/isa/gus/interwave.c compile with PNP=n
  + ARM
    - Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM
    - Add s3c24xx i2s audio core
    - ARM AACI primecell driver
  + ARM AACI PL041 driver
    - ARM AACI primecell driver
  + ARM DMA routines
    - ARM DMA subsystem
  + ARM PXA2XX driver
    - Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM
    - Fix a typo
    - Fix pxa2xx ac97 driver
  + ARM S3C24XX IIS driver
    - Add s3c24xx i2s audio core
  + ATIIXP driver
    - Add quirk for HP pavilion ZV5030US
    - Fix suspend/resume with ATIIXP
    - Add AC97_SCAP_NO_SPDIF flag
    - Replace pci_module_init() with pci_register_driver()
  + ATIIXP-modem driver
    - Add workaround for buggy ATI IXP hardwares
    - Set default index of modem and bt87x drivers to -2
    - fix pm_message_t vs. u32 in alsa
    - Replace pci_module_init() with pci_register_driver()
  + AZT3328 driver
    - Replace with macros for gameport initialization
  + BT87x driver
    - Set default index of modem and bt87x drivers to -2
    - Add __iomem prefix
  + CA0106 driver
    - Add support for Audigy2LS on MSI motherboard
    - Increase buffer sizes for the CA0106 driver
    - Skip ac97 SPDIF controls
    - Fix permissions in some /proc files
    - make code static
    - Implement surround71 outputs on SB Live 24bit.
    - When the alsamixer says "SPDIF Out [Off]", SPDIF output should be off and Analog output should be on.
    - Tidy up card recognition.
  + CMIPCI driver
    - CMI8768 patch
    - Don't query chip models on CMI8338
    - Replace with macros for gameport initialization
  + CS423x drivers
    - initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
  + CS4281 driver
    - fix locking for rawmidi trigger callbacks
    - remove superfluous spin_lock_irqsave calls
    - remove unneeded interrupt locks in rawmidi drivers
    - Replace with macros for gameport initialization
    - cs4281 - fix typos in the case gameport is disabled
    - cs4281 - fix DLLRDY not seen problem
  + CS46xx driver
    - remove superfluous spin_lock_irqsave calls
    - big sync with 2.6 (joystick changes & mips tree)
  + Digigram VX Pocket driver
    - Add missing inclusion of linux/device.h
  + Digigram VX core
    - Show firmware loading state in proc file
    - Add missing inclusion of linux/device.h
    - replace schedule_timeout() with msleep()
    - driver model type fixes for ALSA
  + Digigram VX222 driver
    - Add missing inclusion of linux/device.h
  + Documentation
    - Fix typos in doc
    - fix typo
    - Add Intel HDA driver
    - Move azx driver to alsa-kernel tree
    - Warning doc about VIA82xx recording
    - Remove descriptions of obsolete options
    - HDSP fixes
    - Interpret negative index as bitmask of permissible indexes
    - Set default index of modem and bt87x drivers to -2
    - Fix descriptions about suspend/resume callbacks
    - fix snd-serial-u16550 docs for setserial
    - document rawmidi interface
    - documentation - clarify information about atomic callbacks
    - rawmidi - move output trigger into a tasklet
    - some docs for the new emu10k1 multichannel functionality
    - Support all sample rate conversion capabilities of DXS channels
    - Replace pci_module_init() with pci_register_driver()
    - Add position_fix module option
    - Add ASUS Z71V support
    - Adding support for ATI IXP450 HD Audio device support
    - Add support of VIA VT8251/VT8237A HD-Audio controllers
    - cmipci: Fix obsolete description
    - Update documentation for ice1712 and ice1724
    - [doc] Fix a comment about dxs_support for via82xx driver
    - ice1724 - Add support of Chaintech AV-710
  + EMU10K1/EMU10K2 driver
    - Changes "Music" to "Synth" in mixer control names
    - capture EXTINs with multichannel device
    - add 96Khz support and setting sample rate for	direct SPDIF output
    - split snd_emu10k1_trigger_voice into trigger and prepare functions
    - Enables SPDIF output on the Audigy2 Value
    - emu10k1 driver - add multichannel device hw:x,3 [1/8]
    - emu10k1 driver - add multichannel device hw:x,3 [2-8/8]
    - emu10k1 - add "voices" /proc entry for debugging the voice allocator
    - [SPARSE] Use unsigned int :1 bitfields
    - Fix comiple with old gcc
    - [SPARSE] Fix __user pointers
    - remove an unnecessary printk
    - Fix the Audigy SPDIF sample rate register definitions
    - emu10k1 - fix the initial value for Captured FX8010 Outputs
    - Fix pops and clicks at beginning/end of playback
    - Fix voice allocation corruption
    - emu10k1 - give the subdevices descriptive names
    - emu10k1 - Silence the "BUG (or not enough voices)" message
    - emu10k1 - copyright additions/fixes
    - emu10k1 - add support for p16v chip (24-bit playback)
    - fix P16V breakage for non Audigy2 cards
    - fix misc oopses
    - emu10k1 external tram size
    - Fix 96000 SPDIF out from Audigy 2 P16V
    - Add framework for better audigy sound card capabilities selection
    - Fixes AC3 output on Audigy2 sound cards
    - Clean up the chip detection
    - Fix Oops in snd_emu10k1_add_controls
    - Fix EFX voice allocation/preparation
    - Add AC97_SCAP_NO_SPDIF flag
    - Adds Capture to P16V chip.
    - Add's identification of the SB Live! Platinum [CT4760P]
    - Added identification for the Audigy ES.
    - clean up card features
    - Use old default id strings for compatibility
    - Fix the default id of multiple cards
    - Audigy SB0090 identification
    - Check revision for the proper detection of audigy 2
    - Display SPDIF in status in proc fs "spdif-in" file.
    - Improve SPDIF playback via the P16V/CA0151 chip.
    - Improve playback startup. Increase buffer size, and reduce xruns.
    - Fix typo in speaker routing. Now sound comes from the correct speakers
    - Fix compile warning
    - Fix permissions in some /proc files
    - trivial warning fix for emu10k1
    - Update A_SAMPLE_RATE register details.
    - Support multiple capture rates on p16v.
    - Implement different capture sources.
    - Increase capture buffer sizes.
    - emu10k1 - add SB0060 to emu_chip_details
    - emu10k1: add details for the audigy player box version
  + EMU8000 driver
    - replace schedule_timeout() with msleep()
  + ENS1370/1+ driver
    - remove superfluous spin_lock_irqsave calls
    - remove unneeded interrupt locks in rawmidi drivers
  + ES1968 driver
    - Fix resume of es1968
    - Fix Oops with joystick support
    - Add the vendor 0x1558 to PM whitelist of es1968
  + FM801 driver
    - FM801 - radio: Fixed thinko for tea575x_tuner module parameter (int type not bool)
    - Add PCI ID for Gallant Odyssey Sound 4
  + GUS Library
    - insert set_current_state() before schedule_timeout()
    - replace schedule_timeout() with msleep_interruptible()
    - remove interruptible_sleep_on_timeout() usage
    - [SPARSE] Use unsigned int :1 bitfields
    - GUS - Remove unused gus_lfo.c file
    - sound/isa/: cleanups
  + Generic drivers
    - Add PC-speaker PCM driver support
    - replace the param arrays with a single vars
    - [SPARSE] Use NULL instead of 0
    - fix indentation
    - add port names for serial MIDI ports
    - fix locking for rawmidi trigger callbacks
    - remove unneeded interrupt locks in rawmidi drivers
  + HDA Codec driver
    - Add Intel HDA driver
    - Fix resume callback
    - Fix detection of AFG node
    - [SPARSE] Use NULL instead of 0
    - Don't set up the front stream twice
    - Fix SPDIF output
    - Fix Digital Input
    - ALC882 support, fix ALC880 5-stack mode
    - Fix digital input
    - Fix ALC260 support
    - Fix ALC260 input
    - Use full-digital model as default for CMI9880
    - Add new C-Media 9880 codec ID
    - Fix SPDIF output on CMI9880
    - use amp capabilities from afg if amp override not set
    - correct comment for setting widget output
    - Add AD1986A support
    - Add Mono volume controls for ALC260
    - fix multi-channel for model==full
    - choose multi-channel jacks automatically
    - hda: fix vref cap and ctl values
    - add sigmatel codec support
    - Add AD1981HD and AD1983 support
    - Remove dead code
    - Misc clean up
    - Fix and cleanup of CM9880 auto-configuration
    - Add ASUS Z71V support
    - Add test model for debugging ALC880 devices
    - Rename pci_vendor/pci_device to pci_subvendor/pci_subdevice
    - make code static
    - Suppress error message
    - Allow more than 2 channel modes
    - Add Analog Devices vendor name
    - hda-code: Fix the array size of codec list
    - Fix ALC880 capture problems
  + HDA Intel driver
    - fix usage of preprocessor directive inside macro
    - Add support for ESB2 Southbridge HDA
    - Add position_fix module option
    - Adding support for ATI IXP450 HD Audio device support
    - Add support of VIA VT8251/VT8237A HD-Audio controllers
    - Fix a typo in position_fix module option type
  + HDA generic driver
    - Add Intel HDA driver
    - Fix mono volume/mute controls
    - Fix Digital Input
    - Fix auto-probing of widget tree
    - Add AD1986A support
    - Show currectly selected widget in proc_read for hda driver
    - hda: fix vref cap and ctl values
    - add sigmatel codec support
    - Fix a typo in comments
    - Show PIN jack type
    - Rename pci_vendor/pci_device to pci_subvendor/pci_subdevice
  + HPE timer driver
    - add HPET support
  + ICE1712 driver
    - Add support for Chaintech 9CJS
    - Added support for Terratec PHASE 22
    - Fix sample rates of Revo 7.1
    - Provides preliminary support for the Terratec Phase 28 card
    - Add Shuttle SN25P support
    - Update documentation for ice1712 and ice1724
  + ICE1724 driver
    - Added support for Terratec PHASE 22
    - Fix sample rates of Revo 7.1
    - ice1724 - Add support of Chaintech AV-710
  + IOCTL32 emulation
    - Fix struct alignment on PPC64
    - Add missing FORWARD ioctl
    - Fix struct size mismatch
    - Remove ioctl32/* files
    - Move snd-ioctl32 codes to alsa-driver
    - Fix old sequencer ioctl32 wrapper
  + ISA
    - Remove pm_register/pm_unregister
    - isa/Kconfig - added SND_AD1848_LIB and SND_CS4231_LIB tristates
    - initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
    - Sync with 2.6
    - select ISAPNP for SND_INTERWAVE_STB target
  + Intel8x0 driver
    - AC'97 Audio support for Intel ICH7
    - Add quirk for HP nc8000
    - intel8x0 - fixed timeout in the "get current DMA pointer" routine
    - intel8x0 - fix for broken PCI ID define for ICH6
    - Add quirk for Fujitsu S6210
    - Add ac97_quirk for Dell machine
    - AC97 quirk for Dell Precision 650
    - Disable DRA for ALI5455
    - intel8x0: AC'97 audio patch for Intel ESB2
    - [2.6-SYNC] Add missing ESB2 support
  + Intel8x0-modem driver
    - Set default index of modem and bt87x drivers to -2
    - Add mixer controls to intel8x0m
    - Add PCI ids for ICH6/7
    - Fix "semaphore is not ready" problem with snd-intel8x0m
  + KORG1212 driver
    - Korg1212 updates
    - Fix invalid use of readl/writel
  + MIXART driver
    - [SPARSE] Fix the wrong cast
    - fix bug with pci hotplug mode
    - fix bug with pci hotplug mode
  + MPU401 UART
    - MPU-401 PnP support
    - MPU-401 driver cleanup
    - fix locking for rawmidi trigger callbacks
    - replace wrong spin_trylock_irqsave with spin_lock_irqsave
    - remove superfluous spin_lock_irqsave calls
    - remove unneeded interrupt locks in rawmidi drivers
  + MSND driver
    - Change header for enable_/disable_irq()
    - remove calls to check_region
    - fix locking for rawmidi trigger callbacks
  + Maestro3 driver
    - Add quirk for LEGEND ZhaoYang 3100CF
    - maestro3: Fix interrupt ack and disable
    - maestro3: Add HW volume button support
    - maestro3: HP OmniBook HW volume button magic
    - maestro3: Add hardware volume control quirk list
  + Memalloc module
    - add check for kernel vsnprintf
    - remove superfluous MODVERSIONS definitions
  + OPL3SA2 driver
    - Sync with 2.6 code
    - enable disabling of isapnp
  + OSS device core
    - Sync with 2.6 code
  + Opti9xx drivers
    - initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
    - more proc lines for miro
  + PARISC
    - Sync with 2.6 - ALSA Harmony sound driver for PA-RISC
  + PARISC Harmony driver
    - Sync with 2.6 - ALSA Harmony sound driver for PA-RISC
    - 2.6 sync - ALSA Harmony fixes
  + PCI drivers
    - Add Intel HDA driver
    - Sync with 2.6 code
  + PDAudioCF driver
    - Sync with 2.6 code
  + PPC
    - ppc32: add sound support for Mac Mini
    - [Sync] powermac driver updates
  + PPC Beep
    - ppc64: very basic desktop g5 sound support (#2)
  + PPC PMAC driver
    - Fix compile error (due to last suspend/resume fix)
    - pmac: sound support for latest laptops
    - ppc64: very basic desktop g5 sound support (#2)
    - ppc32: add sound support for Mac Mini
    - [Sync] powermac driver updates
    - ppc32: Fix Alsa PowerMac driver on old machines
  + PPC PowerMac driver
    - ppc32: add sound support for Mac Mini
  + PPC Toonie
    - ppc32: add sound support for Mac Mini
    - Small build fix for alsa powermac
    - [Sync] powermac driver updates
  + PPC Tumbler driver
    - pmac: sound support for latest laptops
    - pmac: Improve sleep code of tumbler driver
    - ppc64: very basic desktop g5 sound support (#2)
    - ppc64: improve g5 sound headphone mute
    - [Sync] powermac driver updates
  + RME HDSP driver
    - Fix compilation on big-endian arch
    - Ascii chars only
    - HDSP fixes
    - hdsp ghost midi device fix
    - fix typo in midi code
    - hdsp - solved big endian problem
  + RME32 driver
    - rme32 - remove superfluous spin_lock_irqsave call
  + RTC timer driver
    - add module aliases for rtctimer and seq-dummy
  + SA11xx UDA1341 driver
    - Remove pm_register/pm_unregister
    - driver model type fixes for ALSA
  + SB8 driver
    - fix locking for rawmidi trigger callbacks
  + Serial BUS drivers
    - Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358
    - Added ESI Juli@ driver
    - fixup - vd.release does not exists for older kernels
    - fixup - vd.release does not exists for older kernels
    - fixup - vd.release does not exists for older kernels
  + TEA575x tuner
    - TEA575x - add video release callback to avoid warning
  + Trident driver
    - [SPARSE] Use unsigned int :1 bitfields
    - big sync with 2.6 (joystick changes & mips tree)
  + USB
    - Fix snd-usb-audio dependency on snd-hwdep.
  + USB USX2Y
    - Remove unused variable
    - prevent oops & dead keyboard on usb unplugging while the device is being used
    - usb-audio - remove superfluous parameter
  + USB generic driver
    - don't use broken legacy interfaces on M-Audio Quattro/Omnistudio
    - add more Yamaha USB MIDI quirks
    - use cached idVendor/idProduct values
    - simplify snd_usbmidi_count_bits()
    - Novation and MOTU USB MIDI support
    - add code to dump packets
    - add support for Emagic USB MIDI interfaces
    - add logging to send_bulk_static_data
    - ignore Emagic padding bytes
    - fix Emagic broadcast port names
    - add Roland FANTOM-X support
    - add more USB MIDI quirks
    - remove unsafe usage of urb->status
    - usb - change timeout of USB control/bulk msg functions to msecs
    - usb-audio - allow USB MIDI quirks to specify endpoints explicitly
    - Add mixer map for Sound Blaster MP3+
    - usb-audio - BOSS GS-10 PCM support
    - prevent oops & dead keyboard on usb unplugging while the device is being used
    - usb-audio: add Audigy 2 NX control names
    - usb-audio - show exact synchronous frequency in proc file
    - usb-audio - add selector unit names override for Audigy 2 NX
    - usb-audio - remove superfluous parameter
    - usb-audio - restrict Audigy 2 NX frequencies to 48/96 kHz
    - usb-audio - reduce size of unitbitmap array
    - usb-audio - move mixer data into separate struct
    - usb-audio - add mixer control notifications
    - usb-audio - add Extigy/Audigy 2 NX remote control support
    - usb-audio - cache vendor/product IDs
    - usb-audio - allow type 0 extension units
    - usb-audio - use proper interval between synchronization packets
    - usb-audio - use only one packet in synchronization feedback URBs
    - usb-audio - make SB remote control device LIRC compatible
    - usb-audio - Audigy 2 NX blinkenlights
    - usb-audio - set sample rate attribute on Audigy 2 NX endpoints
    - usb-audio - enable high speed (not) on Audigy 2 NX
    - usb-audio - remove superfluous LIRC ioctls
    - usb-audio - add a proc file for Audigy 2 NX jack status
    - usb-audio - bind to control interface instead of usb_device
    - usb-audio - sanity-check sync feedback frequency values
    - usb-audio - avoid unnecessary double buffering
    - usb-audio - claim all interfaces for Roland USB MIDI devices
    - usb-audio - fix synchronization packet interval with Audigy 2 NX
    - 2.6 sync - timeout value
  + VIA82xx driver
    - Use DXS volumes as PCM
    - Add DXS support for MSI K8T Neo2-FI
    - Remove unnecessary ac97 init code
    - Support all sample rate conversion capabilities of DXS channels
    - Fix SPDIF rate with dxs_support=4
    - Add dxs_support=5 for Insight P4-ITX
    - Add dxs_support entry for MSI K8T Neo-FIS2R
    - fix via82xx resume
    - Add dxs_support for a Twinhead mobo
  + VIA82xx-modem driver
    - Remove unnecessary ac97 init code
    - Fix resume of via82xx-modem
  + Virtual Midi
    - use unsigned 1-bit fields
    - sound/core/: possible cleanups
  + Wavefront drivers
    - insert set_current_state() before schedule_timeout()
    - Remove unused yss225.h
    - [SPARSE] Add __user pointer casts
    - fix locking for rawmidi trigger callbacks
  + YMFPCI driver
    - Fix Oops with joystick support
    - remove dead code
  + au88x0 driver
    - do codec init more like windows does
    - replace spdif frequency control with iec958 control
    - remove duplicate field initialization
    - Add AC97_SCAP_NO_SPDIF flag
* alsa-lib
  + Core
    - fix some file paths in comments
    - Add resmgr support
    - Fix resmgr support
    - Add --disable-aload configure option
    - Fix a typo
    - Support dl-object cache
    - move the Jack plugin to alsa-plugins
    - release: 1.0.9rc1
    - Fix a typo
    - release: 1.0.9rc2
    - Added snd_pcm_hw_params_set_rate_resample function
    - release: 1.0.9rc3
    - - Fedora 4 patch - fix for alpha arch
    - API for device name lists and timer enhancements
    - added full async interface to timer API
    - Add snd_pcm_hw_params_get/set_export_buffer()
    - release: 1.0.9rc4
    - release: 1.0.9
  + Config API
    - fix some file paths in comments
    - API for device name lists and timer enhancements
    - Fix doxygen documents
  + Control API
    - fix some file paths in comments
    - Add resmgr support
    - Fix resmgr support
    - Add --disable-aload configure option
    - Fix invalid free
    - Fedora 4 patch - gcc4 fixes
    - Fix doxygen documents
  + Device Name API
    - API for device name lists and timer enhancements
  + HWDEP API
    - fix some file paths in comments
    - Add resmgr support
    - Fix resmgr support
    - usb-audio - add Extigy/Audigy 2 NX remote control support
    - Fedora 4 patch - gcc4 fixes
  + I/O API
    - fix some file paths in comments
  + Instrument API
    - fix some file paths in comments
  + Mixer API
    - Fix memory leak
    - fix some file paths in comments
    - stack protection (CAN-2005-0087)
    - Use bag_for_each_safe() for event handling loop
    - Add Side controls in the weight list
    - Fix snd_mixer_sort()
  + PCM API
    - Use snd_config_get_bool()
    - Fix a typo
    - Fixed compile warning
    - Fix compile warning
    - improved stream linking and plugin code cleanups
    - Add pcm_generic.h
    - The stream linking problem for pcm_multi.c should be fixed now
    - Use snd_config_get_bool()
    - Fix the available formats
    - Add resmgr support
    - start pcm when draining in prepared state
    - Split arch-dependent codes of dmix
    - Fix hw_params of lfloat plugin
    - Add external PCM plugin SDK (draft version)
    - Fix compile warnings
    - Fix resmgr support
    - Add filter-type external plugin SDK
    - Code clean-up
    - Accept string type card
    - Remove JACK plugin
    - Initialize structs for ioctls
    - fix the file plugin
    - Add snd_pcm_parse_control_id()
    - Small code clean up
    - Fix resume of dmix, dsnoop and dshare plugins
    - Fix compilation with gcc-4.0
    - Fix noises in rate exapnsion
    - Fix noises on exapnd
    - Delayed start for dmix
    - Do hwsync of slave PCM on dmix
    - Generic architecture support
    - Check PCM format aliases
    - Stop timer at XRUN
    - Fix segfault with downsampling
    - Fix channel_info callbacks of hooks, file and plug plugins
    - More fixes for 100% CPU hang with dmix
    - Compile warning fixes
    - Fix compile warning
    - Fix more CPU hang-up bugs in dmix
    - Added snd_pcm_hw_params_set_rate_resample function
    - Move old PCM API to pcm_old.h
    - Add verbose hw_params debugging
    - Suppress verbose debug messages
    - Check timer protocol number for direct plugins
    - Fix timer read in non-TREAD mode
    - Fix segfault
    - Read $LIBASOUND_DEBUG as integer
    - Fix ATTRIBUTE_UNUSED
    - Show verbose errors for invalid sw_params
    - Fix CPU hog with combination of rate plugin
    - Fedora 4 patch - gcc4 fixes
    - remove broken *_step initialization (caused by previous Fedora 4 patch)
    - Fix possible problems of playback drain with rate plugin
    - Fix partial commit in drain
    - Fix playback start with sync_ptr mode
    - Fix blocking during draining in dmix
    - Check timer version for read-block workaround
    - Propagate pcm->info
    - Set up pcm->info properly
    - Remove pause and fix timer initialization in prepare
    - Fix drain of dmix without data
    - Add poll_descriptors and poll_descriptors_count callbacks
    - Use snd_pcm_generic_t and its callbacks
    - Add protocl version check
    - Remove poll_ask callback
    - Fix snd_pcm_wait() for multiple pollfd's
    - Add perm option
    - Fix possible noises and optimization with dmix
    - Revert the shmget permission
    - More strict permission for IPC shm and sem
    - Fix bugs in perm option
    - Fix generic channel_info callbacks
    - Add snd_pcm_hw_params_get/set_export_buffer()
    - Fix poll after XRUN with dmix
    - Minor clean up of dmix codes
    - Fix dshare plugin codes
    - Fix semaphore deadlocks
    - Fix poll of dsnoop plugin
    - Add area synchronization in poll_rsync of rate plugin
    - Move poll_* callbacks to fast_ops
    - Minor clean up
    - Fix compile without debug option
  + RawMidi API
    - Add resmgr support
    - Fix resmgr support
    - rawmidi_virt: fix hang on invalid MIDI data
    - Fedora 4 patch - gcc4 fixes
  + Sequencer API
    - Add resmgr support
    - Fix resmgr support
    - Add --disable-aload configure option
    - Added snd_seq_ev_set_tag() macro
    - Fix the device-open check
    - fix snd_seq_query_next_client documentation
    - Fedora 4 patch - gcc4 fixes
    - Fix doxygen documents
  + Timer API
    - Add resmgr support
    - Fix resmgr support
    - Fedora 4 patch - gcc4 fixes
    - API for device name lists and timer enhancements
    - added full async interface to timer API
    - Change some timer ioctls due to confliction
    - Fix doxygen documents
  + /include/Makefile.am
    - Add external PCM plugin SDK (draft version)
    - Add filter-type external plugin SDK
    - Move old PCM API to pcm_old.h
  + /src/Makefile.am
    - API for device name lists and timer enhancements
  + ALSA Lisp
    - Fix compile warning
  + Configuration
    - Fix the bogus return values
    - Make dmix card-specific
    - Add config for HDA-Intel
    - Check error values
    - Fix a typo in default period size
    - Make dsnoop card-specific
    - Use dmix/dsnoop for default PCM
    - Add config file for PC-Speaker driver
    - Remove routing of 5.1 output
    - Fix the parse of filenames with spaces
    - use "C" locale when parsing floating point numbers
    - Support dl-object cache
    - Fixed rear PCM (mono output)
    - Use softvol for default PCM
    - Add config file for CMI8768
    - Fix card type to string
    - Fix SPDIF device
    - Fix rear/center_lfe subdevice mismatch
    - Fix AC3 output on alsa-lib ca0106.conf
    - Fixes AC3 output on Audigy2 sound cards
    - Enable slowptr option as default
    - Fix compile with gcc-4.0
    - Evaluate CARD argument
    - Do hwsync of slave PCM on dmix
    - Use S16 for default format
    - Use dmix/dsnoop as default
    - Remove Azalia.conf
    - Use 'Channel Mode' control
    - Add PMac Toonie configuration
    - Make surround config backward compatible
    - Add configuration for AACI driver
    - Implement surround71 output for SB Live 24 bit.
  + Documentation
    - Remove JACK plugin
    - Add a note on FC3
    - More doxygen comments
    - Add external PCM plugin
    - Read $LIBASOUND_DEBUG as integer
    - Fix documentation of external PCM plugin SDK
    - Fix doxygen documents
  + Dynamic Loader helpers
    - Support dl-object cache
  + Error handler
    - Read $LIBASOUND_DEBUG as integer
  + External PCM Filter Plugin SDK
    - More doxygen comments
    - Add protocl version check
    - Fix documentation of external PCM plugin SDK
  + External PCM I/O Plugin SDK
    - Support dl-object cache
    - Add protocl version check
  + External PCM Plugin SDK
    - Add external PCM plugin SDK (draft version)
    - Add filter-type external plugin SDK
    - Add snd_pcm_parse_control_id()
    - Fix documentation of external PCM plugin SDK
  + I/O subsystem
    - undef gets in case it's a macro
    - Remove invalid ATTRIBUTE_UNUSED
  + Kernel Headers
    - Added asound_fm.h
    - Update user land emu10k1.h with changes from kernel emu10k1.h
    - Added snd_pcm_hw_params_set_rate_resample function
    - Increase timer protocol number
    - usb-audio - add Extigy/Audigy 2 NX remote control support
    - Change some timer ioctls due to confliction
    - Add snd_pcm_hw_params_get/set_export_buffer()
  + SHM helpers
    - Fix a typo
  + Test/Example code
    - latency test - Added -B and -E options
    - Added snd_pcm_hw_params_set_rate_resample function
    - midiloop - remove running status test
    - added full async interface to timer API
  + Utils
    - Fix the include path
    - Add $include/alsa to the include path
* alsa-utils
  + Core
    - move event dumping from arecordmidi to aseqdump
    - release: 1.0.9rc1
    - release: 1.0.9rc2
    - Install sound samples to correct places.
    - release: 1.0.9rc3
    - alsa-lib 1.0.9 is required now
    - release: 1.0.9rc4
    - release: 1.0.9rc4a
    - release: 1.0.9
  + /seq/Makefile.am
    - move event dumping from arecordmidi to aseqdump
  + ALSA Control (alsactl)
    - return error code on faillure
    - Fix exit code
    - split source per command and added command 'names'
    - fix name of hw sequencer definition
    - alsactl - probe rawmidi device for rawmidi definitions
    - alsactl - add names for unique rawmidi subdevices
    - Ignore -ENOTTY error
    - Fix --force option
    - Add alsactl.h
  + ALSA RawMidi Utility (amidi)
    - allow --send-hex data without quotes
    - clarify options in man page
    - fix buffer length calculation
    - use non-breaking hyphens in man page
    - fix amidi error handling
    - detect attempts to play .mid files with amidi
  + Speaker Test
    - Update to speaker-tools 0.0.7
    - adopt readme changes in manpage
    - Minor updates. No functionallity changes.
    - Implement Pink noise output.
    - Add sound samples.
    - Install sound samples to correct places.
    - Implement order for 8-channel sound, arranged in 7.1 mode.
    - Fix speaker-test with -FS32_LE format.
    - Don't use max volume
    - Add .cvsignore
  + aconnect
    - Fix typo
  + alsaconf
    - Fix make without NLS
    - Sort options in alphabetic order
    - Fix exit code
    - Use -q option with grep
    - Fix typo in alsaconf "modinfo" option
    - Fix check of fedora and redhat distributions
    - Change the Debian configuration file name
    - Add alsaconf french man page
    - Adjust Front volume as default
    - fix typo
    - Fix manpage installation
  + alsamixer
    - Fix compile warnings
    - Show other view names
    - Fix typo
    - Improve display of long text for enums.
    - Fix segfault with no-capture devices
  + amixer
    - exits with status 0 after -h option
    - Fix exit status
    - amixer no-range-checking option
    - Added -a,--abstract switch for upcoming abstract mixer API
    - Fixed basic astraction selection for simple mixer API
    - Fix compile warnings
  + aplay/arecord
    - Added -n (--list-devnames) command
  + aplaymidi/arecordmidi
    - move event dumping from arecordmidi to aseqdump
    - Remove unused variable
  + aseqdump
    - move event dumping from arecordmidi to aseqdump
  + iecset
    - Fix 32kHz sample rates
* alsa-tools
  + Core
    - release: 1.0.9rc1
    - Add ld10k1 tool
    - Add qlo10k1
    - release: 1.0.9rc2
    - release: 1.0.9rc3
    - release: 1.0.9rc4
    - release: 1.0.9
  + Digigram Echo Mixer
    - echomixer update 1/4
    - echomixer update 2/4
    - echomixer update 3/4
    - echomixer update 4/4
    - echomixer GUI changes
    - echomixer autoclock support
    - echomixer cleanup
    - echomixer automute support
    - increment subversion
    - Fix compile warnings
  + Envy24 Control
    - Fix compile warnings
  + RME HDSP Loader
    - ppc firmware upload fix
  + as10k1 (EMU10K1+ DSP Assembler)
    - Fix build
    - Added dummy distdir rule
    - Fix make install
    - Fix compile failure in as10k1.c regarding label at end of compound statement.
  + ld10k1 (EMU10K1+ DSP Code Loader)
    - Add ld10k1 tool
    - Fix cvscompile
    - Packaging fix
    - Don't require as10k1
    - init_live updates
    - ALSA 1.0.9 is required
    - Fix handling of $CFLAGS and $LIBS
    - Fix uninitialized variable
  + qlo10k1
    - Add qlo10k1
    - Fixed typos - ld10k1 -> qlo10k1
    - Fix handling of $CFLAGS and $LIBS
    - Fix gw_CHECK_QT macro
* alsa-firmware
  + Core
    - Added open-source tascam_loader firmware
    - release: 1.0.9rc3
    - release: 1.0.9rc4
    - release: 1.0.9
  + RME HDSP Firmware
    - ppc firmware upload fix
  + Tescam USX2Y Firmware
    - Added open-source tascam_loader firmware
    - text for building usx2y-fw from source file
* alsa-oss
  + Core
    - Fix compile warning
    - release: 1.0.9rc1
    - release: 1.0.9rc2
    - added 64-bit fopen support (sox works now)
    - release: 1.0.9rc3
    - release: 1.0.9rc4
    - release: 1.0.9
  + PCM Emulation
    - Fixed O_NONBLOCK behaviour for PCM devices
    - added 64-bit fopen support (sox works now)
    - Use "default:X" PCM for secondary and later cards


Detailed changelog between 1.0.8 and 1.0.9 releases
***************************************************

* alsa-driver
  + Sound Core
    - Summary: Move azx driver to alsa-kernel tree
      snd-azx driver is moved to alsa-kernel tree.
      Now it's renamed to snd-hda-intel (to avoid the codename).
    - Summary: Check the new unlocked/compat_ioctl
      Configure checks the new unlocked/compat_ioctl.
      Defined as CONFIG_SND_HAVE_NEW_IOCTL.
    - Summary: Add msleep_interruptible() and ssleep() wrappers
      Added msleep_interruptible() and ssleep() wrappers.
      Check msleep() in configure script, too, instead of checking kernel version.
    - Summary: Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM
      Added px2axx-ac97 and pxa2xx-pcm modules for ARM.
      AC97 driver for the Intel PXA2xx chip by Nicolas Pitre.
    - Summary: Add PC-speaker PCM driver support
      Added PC-Speaker PCM driver support by Stas Sergeev.
    - Summary: Detection of ARM arch flags, PC-speaker hook
      Detect ARM arch flags and PC-speaker hook flag in configure.
      Exclude them properly in mod-deps.
    - Summary: add check for kernel vsnprintf
      Add a separate check for vsnprintf instead of defining it together
      with snprintf for compatibility with 2.2.27-rc2.
    - Summary: MPU-401 PnP support
      Replace the ACPI PnP code with generic PnP calls.
    - Summary: define CONFIG_X86 on X86_64
      CONFIG_X86 needs to be defined on X86_64 machines, too.
    - Summary: Don't replace existing alsasound
      Don't replace the existing alsasound init script via make install.
      A new script is installed as alsasound.new, instead.
    - Summary: Fixed TAGS target
      - ../alsa-kernel cannot be found
      - xargs runs at least twice (too many files to fit into one command
        line, 24968 characters as of 1.0.8), so etags runs twice and just
        stores the last list of files
      Signed-off-by: Roman Fietze <Roman.Fietze at telemotive.de>
    - Summary: just cosmetic fix
    - release: 1.0.9rc1
    - Summary: add HPET support
      add a wrapper for the HPET driver
    - Summary: big sync with 2.6 (joystick changes & mips tree)
      This is big sync with the official 2.6 tree.
      - joystick changes by Vojtech Pavlik
      - mips tree added
      - various cleanups (verify_area -> access_ok)
    - Summary: Added MIPS driver support
      Added MIPS driver support.
    - release: 1.0.9rc2
    - Summary: fix --with-kernel/--with-build parameter handling
      Do not use the standard build directory if the user has specified a
      non-standard kernel directory.
    - Summary: fix logic error when checking for the kernel version.h
      When version.h is not found, abort with an error message.  The old
      code did not abort when no build directoy had been specified.
    - Summary: fix configure.in typo
      fix cosmetic typo
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: Fix compilation with module version on 2.2/2.4 kernels
      Fixed the compilation with module version on 2.2/2.4 kernels.
    - Summary: Merge Gina3G and Layla3G support to a single driver
      - This patch unifies the Gina3G and the Layla3G drivers. The new driver is
      called snd-echo3g.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - release: 1.0.9rc3
    - Summary: Fix CONFIG_INPUT and CONFIG_PPC_PMAC
      Fix the handling of CONFIG_INPUT and CONFIG_PPC_PMAC.
    - Summary: fix io_remap_{page|pfn}_range checks
      Check for the io_remap_{page|pfn}_range macros instead of
      the remap_{page|pfn}_range function because it is the former
      that is actually used.
    - release: 1.0.9rc4
    - Summary: Fix compile options for kernel config checks
      Fixed compile options for kernel config checks.
    - release: 1.0.9rc4a
    - Summary: Add comments for $CONFIG_SND
      Added (minimal) comments for $CONFIG_SND in Kconfig, so that
      configurators can choose this entry explicitly.
      A more descriptive comment by someone else is appreciated...
    - Summary: Use standard form for URL
      Use the standard form with <> for URL in Kconfig help texts.
    - release: 1.0.9
  + ALSA Core
    - Summary: Added workqueue implementation for 2.4 kernels (no 2.2 yet)
      It's completely untested code.
    - Summary: exports for 2.4 workqueue implementation
    - Summary: Export new register/unregister functions
      Export new register/unregister functions for compat control-ioctls.
    - Summary: Remove snd-ioctl32 entry
      Remove the entry for snd-ioctl32.  The 32bit wrapper is built in the core
      module.
    - Summary: Check the new unlocked/compat_ioctl
      Configure checks the new unlocked/compat_ioctl.
      Defined as CONFIG_SND_HAVE_NEW_IOCTL.
    - Summary: Add a dummy entry for snd-ioctl32
      Added a dummy entry for snd-ioctl32 module (for backward compatibility).
    - Summary: Move snd-ioctl32 codes to alsa-driver
      Moved the old snd-ioctl32 codes (for 2.6 kernel) to alsa-driver tree
      to be compiled locally.
    - Summary: Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros
      Replace spin/rwlock definitions with DEFINE_SPINLOCK() and DEFINE_RWLOCK()
      macros.
    - Summary: Add DEFINE_SPINLOCK() & DEFINE_RWLOCK() wrappers
      New wrappers for DEFINE_SPINLOCK() and DEFINE_RWLOCK() macros are added.
    - Summary: Add msleep_interruptible() and ssleep() wrappers
      Added msleep_interruptible() and ssleep() wrappers.
      Check msleep() in configure script, too, instead of checking kernel version.
    - Summary: Add newline to printk
      Added the newline to printk error output.
    - Summary: Fixed 2.4 workqueue compat routines
    - Summary: Remove pm_register/pm_unregister
      Removed pm_register() and pm_unregister().
      Use platform_device for suspend/resume, instead.
      The current implemention is still a hack.  The whole ISA drivers should
      be rewritten with a proper bus definition.
    - Summary: Add CONFIG_SND_GENERIC_PM
      Added CONFIG_SND_GENERIC_PM definition.
    - Summary: Add the PM code for 2.2/2.4 kernels
      Add a workaround for generic PM code for 2.2/2.4 kernels.
    - Summary: Interpret negative index as bitmask of permissible indexes
      Currently arguments of the "index" option from 0 through SNDRV_CARDS-1
      force a module to take the specified index. Index -1 makes the module
      take the first available index. This patch extends this convention so
      that a negative index value is interpreted as a bitmask of the
      permitted indexes. Special cases:
          -1 0xffffffff 0 and up
          -2 0xfffffffe 1 and up
          -4 0xfffffffc 2 and up
          ...
      The patch includes also corrections of ALSA-Configuration.txt document.
      Signed-off-by: Thomas Hood <jdthood at yahoo.co.uk>
    - Summary: compatibility code for older kernels
      Define __u16 and BUG_ON when they don't exist, and
      prevent a redefinition of the ssleep macro
    - Summary: fix snd_compat_msleep* exports
      Export both snd_compat_msleep and snd_compat_msleep_interruptible
      when they're defined.
    - Summary: completion emulation for 2.2 kernels
      Add partial emulation of completion handlers for 2.2.x kernels.
    - Summary: driver model type fixes for ALSA
      Fixes by Pavel Machek <pavel at suse.cz>:
      suspend() routines no longer get u32 as their parameter (they get
      pm_message_t, which is u32 for now, but will change in 2.6.12 or
      so). This fixes ALSA to notice this, and uses constants with right
      types where appropriate. It results in no code changes. [Best results
      will be when patching against latest -mm, you may get some warnings if
      you patch it into older kernel, but it should still do the right
      thing.] Please apply,
      							Pavel
      [In addition, suspend callback type is changed to follow to the standard
       style taking no state argument -- Takashi]
    - Summary: Add pm_message_t and PMSG_* for older kernels
      Added the definitions of pm_message_t and PMSG_* for older kernels.
    - Summary: Regenerated for suspend/resume fix
      Patch is regenrated due to suspend/resume callback fix
    - Summary: Fix inclusion of pm.h
      Added the missing inclusion of linux/pm.h.
    - Summary: Fix suspend/resume functions
      Fix the suspend/resume callback functions to follow the last change.
      (This fix was missing in the last patch.)
    - Summary: Fix suspend/resume functions
      Patch regenerated for the last change.
    - Summary: Kconfig: cleanup sound menu
      This properly indents the sound menu.
      Signed-off-by: Roman Zippel <zippel at linux-m68k.org>
    - Summary: Add wait_event_interruptible_timeout() wrapper
      Added wait_event_interruptible_timeout() wrapper.
    - Summary: add wait_event_interruptible_timeout wrapper
      Added the wait_event_interruptible_timeout() wrapper for
      the __wait_event_interruptible_timeout() macro.
    - Summary: use struct task_struct instead of task_t
      Use struct task_struct because task_t is not defined in
      pre-2.6 kernels.
    - Summary: set the first argument to pm_register
      Use PM_UNKNOWN_DEV instead of 'type' as first argument to
      pm_register().  Or should type have been a parameter of
      snd_card_set_generic_pm_callback()?
    - Summary: add check for kernel vsnprintf
      Add a separate check for vsnprintf instead of defining it together
      with snprintf for compatibility with 2.2.27-rc2.
    - Summary: MPU-401 PnP support
      Replace the ACPI PnP code with generic PnP calls.
    - Summary: Fix the check of new PM macros
      Fix the detection of existing definitions of new PM macros.
      (for patched 2.6.10 kernels)
    - Summary: Fix compilation without debug option
      Fixed the compilation without debug option on 2.6.11.
    - Summary: workarounds for symbols not exported in 2.2.x kernels
      Add workarounds for 2.2.x kernels that do not export do_exit() and
      simple_strtol().
    - Summary: use simple_strtoul instead of simple_strtol
      Replace simple_strtol with simple_strtoul for compatibility with
      2.2.x kernels.
    - Summary: remove duplicate module alias
      Remove duplicate MODULE_ALIAS for the snd module.
    - Summary: define __le16 for 2.6 kernels that do not have it
      Move the check for bitwise symbols like __le16 so that it applies
      to 2.6 kernels, too.
    - Summary: Fix typos
      Fix typos in alsa-kernel code for MIDI sostenuto.
      Signed-off-by: William <walsac3c AT orthoset.com>
    - Summary: add HPET support
      add a wrapper for the HPET driver
    - Summary: add HPET support
      add a wrapper for the HPET driver
    - Summary: Reduce stack usage
      Reduce the stack usage, mostly by replacing large structs with kmalloc'ed
      instances.
    - Summary: Use vprintk()
      Use vprintk() instead of printk with a temporary line buffer.
    - Summary: Add vprintk() wrapper
      Added vprintk() wrapper for older kernels.
    - Summary: Replace with macros for gameport initialization
      Use some macros for gameport initialization.  This makes much easier
      to write the compatible layer for the old gameport API in alsa-driver
      tree.
    - Summary: Add compat layer for old gameport API
      Added the compat layer for old gameport API.
    - Summary: Fix compilation with older kernels
      Fixed the wrong macro definition of gameport_set_phys() for older kernels.
    - Summary: fix compilation with modversions
      Fix redefinition of the gameport_unregister_port macro
      when using modversions.
    - Summary: fix wait_ms conflict
      Fix a conflict between the duplicate definition of wait_ms
      in <linux/usb.h> and <linux/gameport.h>.
    - Summary: Fix compile without CONFIG_PCI
      Fixed compile without CONFIG_PCI.
    - Summary: fix pm_message_t vs. u32 in alsa
      I thought I'm done with fixing u32 vs. pm_message_t ... unfortunately
      that turned out not to be the case as Russel King pointed out. This
      fixes last few bits in alsa. [These patches are independend and change
      no object code; therefore not numbered].
      Signed-off-by: Pavel Machek <pavel at suse.cz>
    - Summary: add PCI_Dx power states
      Add defines for PCI_Dx power state symbols for older kernels.
    - Summary: Use pci_module_init() on older kernels
      Use pci_module_init() instead of pci_register_driver() on 2.2/2.4 kernels.
    - Summary: fix pci_register_driver compatibility with 2.2.x kernels
      Do not redefine pci_register_driver on 2.2.x kernels because we
      already have a wrapper there.
    - Summary: replace SNDRV_PCM_HW_PARAMS_RUNTIME -> SNDRV_PCM_HW_PARAMS_NORESAMPLE
    - Summary: Fix compilation with older 2.6 kernels
      Fix compilation with older 2.6 kernels (missing PCI_Dx definitions).
    - Summary: Increase timer protocol number
      Increase the timer protocl number (to distinguish the fix for TREAD ioctls).
    - Summary: Fixed conflict of pci_module_init definition
      Fixed the conflict of pci_module_init() redefinition when module-version
      is enabled.
    - Summary: Make pci_register_drivers() compat layer to 2.6 style
      Make pci_module_init() and pci_register_drivers() to behave in the way
      like 2.6 kernels does.
    - Summary: Fix compilation with module version on 2.2/2.4 kernels
      Fixed the compilation with module version on 2.2/2.4 kernels.
    - Summary: usb-audio - add Extigy/Audigy 2 NX remote control support
      Add an hwdep interface that supports reading remote control data from
      Sound Blaster Extigy and Audigy 2 NX devices.
    - Summary: remove superfluous MODVERSIONS definitions
      With MODVERSIONS defined on the command line, it is no longer
      necessary to define it in the source files.
    - Summary: usb-audio - 2.2.x compatibility
      Add some code for compatibility with 2.2.x kernels.
    - Summary: compiling problem fixed
      This fixes a 2.4 compiling problem on alpha. GFP_KERNEL was undeclared.
      Signed-off-by: Martin Langer <martin-langer at gmx.de>
    - Summary: Change some timer ioctls due to confliction
      Change values of some timer ioctls to avoid confliction with FIO* ioctls.
      The protocol version is increased to indicate this change.
    - Summary: sound/core/: possible cleanups
      This patch contains the following possible cleanups:
      - make needlessly global code static
      - #if 0 the following unused global functions
      - remove the following unneeded EXPORT_SYMBOL's
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
    - Summary: fix io_remap_{page|pfn}_range checks
      Check for the io_remap_{page|pfn}_range macros instead of
      the remap_{page|pfn}_range function because it is the former
      that is actually used.
  + Control Midlevel
    - Summary: unlocked/compat_ioctl rewrite for control API
      ioctl handler for control API is rewritten using unlocked/compat_ioctl.
      The 32bit wrapper is merged to the core module.
      Added a new register/unregister function for compat control ioctls.
    - Summary: Compile fix for old ioctls
      Fixed compiles with older kernels without unlocked/compat_ioctl.
    - Summary: driver model type fixes for ALSA
      Fixes by Pavel Machek <pavel at suse.cz>:
      suspend() routines no longer get u32 as their parameter (they get
      pm_message_t, which is u32 for now, but will change in 2.6.12 or
      so). This fixes ALSA to notice this, and uses constants with right
      types where appropriate. It results in no code changes. [Best results
      will be when patching against latest -mm, you may get some warnings if
      you patch it into older kernel, but it should still do the right
      thing.] Please apply,
      							Pavel
      [In addition, suspend callback type is changed to follow to the standard
       style taking no state argument -- Takashi]
    - Summary: Fix the wrong function call from ioctl
      Fixed the call of a wrong function from ioctl.
    - Summary: Control API - fix the wrong allocation for userspace controls
    - Summary: Reduce stack usage
      Reduce the stack usage, mostly by replacing large structs with kmalloc'ed
      instances.
    - Summary: Suppress debug message
      Suppress "unknown ioctl" debug message (replaced with snd_printdd).
  + HWDEP Midlevel
    - Summary: unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API
      The ioctl handler for hwdep, rawmidi, timer and sequencer API are rewritten
      using unlocked/compat_ioctl.
      The 32bit wrapper is merged to the core module.
    - Summary: Compile fix for old ioctls
      Fixed compiles with older kernels without unlocked/compat_ioctl.
    - Summary: big sync with 2.6 (joystick changes & mips tree)
      This is big sync with the official 2.6 tree.
      - joystick changes by Vojtech Pavlik
      - mips tree added
      - various cleanups (verify_area -> access_ok)
  + PCM Midlevel
    - Sumary: Fix comment of snd_pcm_lib_malloc_pages()
      Fixed comment of snd_pcm_lib_malloc_pages() by
      Kirill Smelkov <kirr at mns.spb.ru>.
    - Summary: unlocked/compat_ioctl rewrite for PCM API
      The ioctl handler for PCM API is rewritten using unlocked/compat_ioctl.
      The 32bit wrapper is merged to the core module.
    - Summary: Compile fix for old ioctls
      Fixed compiles with older kernels without unlocked/compat_ioctl.
    - Summary: Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros
      Replace spin/rwlock definitions with DEFINE_SPINLOCK() and DEFINE_RWLOCK()
      macros.
    - Summary: Fix 32bit calls to snd_pcm_channel_info()
      Fix 32-bit calls to snd_pcm_channel_info().
      Signed-off-by: Brian Gerst <bgerst at didntduck.org>
    - Summary: [SPARSE] Fix __user pointers
      Fixed __user pointers including other misc fixes:
       - replaced the obsolete CONFIG_SND_IOCTL32_EMUL.
       - added the proper segment change before passing the kernel pointer
         as the user pointer in PCM code.
    - Summary:  Fix rounded-up integer division bug
          This patch is against alsa-driver-1.0.8.
          It covers:
              alsa-kernel/core/pcm_lib.c
          It corresponds to bug description:
              <https://bugtrack.alsa-project.org/alsa-bug/view.php?id=951>
          The patch fixes the following problem:
           -- Properly perform rounded-up integer division in
              snd_pcm_system_tick_set() in pcm_lib.c.
              This only had a minor impact.
      Signed-off-by:  Charles Levert <charles_levert at gna.org>
    - Summary:  Fix bugs with incorrectly wrapped appl_ptr
          This patch is against alsa-driver-1.0.8.
          It covers:
              alsa-kernel/core/pcm_lib.c
          The main changes are in the first listed file.
          It corresponds to bug description:
              <https://bugtrack.alsa-project.org/alsa-bug/view.php?id=951>
          The patch does cosmetic change:
           -- Better, more universal and smaller wrapping to within
              0..runtime->boundary-1 in functions snd_pcm_lib_write1() and
              snd_pcm_lib_read1() in pcm_lib.c
      Signed-off-by:  Charles Levert <charles_levert at gna.org>
    - Summary: Add proper spin/irq locks to suspend
      Add the proper spin/irq locks to PCM suspend functions so that PCM
      trigger and pointer callbacks can be called safely without irqsave.
    - Summary: Reduce stack usage
      Reduce the stack usage, mostly by replacing large structs with kmalloc'ed
      instances.
    - Summary: Fix permissions in some /proc files
      Fix by Guillaume Chazarain <guichaz at yahoo.fr>:
      Some tunables in /proc have a write() function, but as their
      permission does not reflect it, it can be confusing to the user.
      So here is a patch that corrects the mode of those files. Note that I
      have only tested the "xrun_debug" entry.
    - Summary: [Sync] Use io_remap_pfn_range
      Patch-level: Merged
      Sync with mainstream.  Use io_remap_pfn_range().
    - Summary: Use io_remap_page_range() for older kernel
      Use io_remap_page_range() for older kernel
    - Summary: Export missing snd_pcm_format_*()
      Export snd_pcm_format_size().  This function is used by some out-of-kernel
      drivers.
      Make snd_pcm_format_cpu_endian() macro for optimization.
    - Summary: sound/core/: possible cleanups
      This patch contains the following possible cleanups:
      - make needlessly global code static
      - #if 0 the following unused global functions
      - remove the following unneeded EXPORT_SYMBOL's
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
    - Summary: Fix for older kernels
      Regenerated to restore the patch for older kernels (accidentally
      dropped in the last change).
    - Summary: fix io_remap_{page|pfn}_range checks
      Check for the io_remap_{page|pfn}_range macros instead of
      the remap_{page|pfn}_range function because it is the former
      that is actually used.
    - Summary: Make docproc happy
      Make docproc happy by moving "#if 0" before comments.
  + RawMidi Midlevel
    - Summary: unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API
      The ioctl handler for hwdep, rawmidi, timer and sequencer API are rewritten
      using unlocked/compat_ioctl.
      The 32bit wrapper is merged to the core module.
    - Summary: Compile fix for old ioctls
      Fixed compiles with older kernels without unlocked/compat_ioctl.
    - Summary: replace schedule_timeout() with msleep()
      Use msleep instead of schedule_timeout() to guarantee the task delays
      as expected. This also removes a dependence on the value of HZ.
      Signed-off-by: Nishanth Aravamudan <nacc at us.ibm.com>
    - Summary: replace interruptible_sleep_on_timeout() with wait_event_interruptible_timeout()
      Use wai_event_interruptible_timeout() instead of deprecated
      interruptible_sleep_on_timeout(). Patch is compile-tested.
      Signed-off-by: Nishanth Aravamudan <nacc at us.ibm.com>
    - Summary: [SPARSE] Fix __user pointers
      Fixed __user pointers including other misc fixes:
       - replaced the obsolete CONFIG_SND_IOCTL32_EMUL.
       - added the proper segment change before passing the kernel pointer
         as the user pointer in PCM code.
    - Summary: fix buffer wrap in snd_rawmidi_transmit_peek
      Fix the behaviour and return value of snd_rawmidi_transmit_peek
      when the buffer wraps around.
    - Summary: fix counting of MIDI input overruns
      Do not throw away the old value of the overrun counter when
      more than one byte is received.
    - Summary: remove _snd_rawmidi_runtime.trigger
      Remove the trigger field from _snd_rawmidi_runtime because
      it is never ever read.  (This may be why nobody noticed that
      snd_rawmidi_transmit_empty sets it to the wrong value.)
    - Summary: move common code into snd_rawmidi_runtime_create/_free functions
      Move the duplicated memory handling code for the rawmidi runtime struct
      into the snd_rawmidi_init/_done_buffer functions and rename them to
      snd_rawmidi_runtime_create/_free.
    - Summary: move rawmidi event callback into tasklet
      Move the event callback into a tasklet instead of calling it directly
      from snd_rawmidi_transmit_ack/_receive to prevent recursive calls to
      the trigger callback.  This means that drivers no longer have to
      check that they're called inside their own spinlock.
    - Summary: rawmidi - fix locking in drop_output and drain_input
      The comments in snd_rawmidi_drop_output and snd_rawmidi_drain_input
      are wrong -- interrupts _are_ enabled, and spinlocks _are_ required.
      So remove the comments and add spinlocks.
    - Summary: rawmidi - move output trigger into a tasklet
      Calling the output trigger callback from another interrupt handler
      can lead to unintuitive locking requirements (i.e., spin_lock_irqsave)
      in the sound card interrupt handler.  Moving the call to the callback
      into a tasklet cures this, and has the added benefit that the callback
      is called only once if more that one sequencer event has been
      delivered in one timer interrupt tick.
  + Timer Midlevel
    - Summary: unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API
      The ioctl handler for hwdep, rawmidi, timer and sequencer API are rewritten
      using unlocked/compat_ioctl.
      The 32bit wrapper is merged to the core module.
    - Summary: Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros
      Replace spin/rwlock definitions with DEFINE_SPINLOCK() and DEFINE_RWLOCK()
      macros.
    - Summary: Fix Oops with timer notifying
      Fixed Oops with timer notifying after TIMER_TREAD ioctl.
    - Summary: Wake up polls and signals at timer notification
      Wake up polls and signals at timer notification (TREAD mode only).
    - Summary: add HPET support
      add a wrapper for the HPET driver
    - Summary: Reduce stack usage
      Reduce the stack usage, mostly by replacing large structs with kmalloc'ed
      instances.
    - Summary: timer - added tread semaphore
    - Summary: Add missing PAUSE ioctl
      Added the missing implemenation of TIMER PAUSE ioctl.
    - Summary: Change some timer ioctls due to confliction
      Change values of some timer ioctls to avoid confliction with FIO* ioctls.
      The protocol version is increased to indicate this change.
    - Summary: fixed PAUSE ioctl for user space interface
      - fixed traditional cut-n-paste error
    - Summary: sound/core/: possible cleanups
      This patch contains the following possible cleanups:
      - make needlessly global code static
      - #if 0 the following unused global functions
      - remove the following unneeded EXPORT_SYMBOL's
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
  + /arm/Makefile
    - Summary: Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM
      Added px2axx-ac97 and pxa2xx-pcm modules for ARM.
      AC97 driver for the Intel PXA2xx chip by Nicolas Pitre.
    - Summary: Add s3c24xx i2s audio core
      S3C24XX I2S Audio core for sound/arm. Patch
      includes makefile, Kconfig and core driver.
      Signed-off-by: Ben Dooks <ben-linux at fluff.org>
    - Summary: ARM AACI primecell driver
      Add support for the ARM AACI Primecell, which provides an AC'97
      based interface.  This driver only provides playback support.
      This has been extensively tested with an LM4549 AC'97 codec.
      Signed-off-by: Russell King <rmk at arm.linux.org.uk>
  + /isa/Makefile
    - Summary: initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
      - Two new Control Names introduced: "Radio" for the onboard radio and
      "Tone Control - xxx (k)Hz" for an equalizer control.
      - I've tried to write support for all three miroSOUND cards PCM1 pro,
      PCM12 and PCM20 Radio, but only PCM12 (rev. E) is tested. Especially
      OPTi929 cards are completely untested.
      - These cards have two mixers: ACI and OPTi9xx. Both are merged into
      one ALSA mixer device. That's different to OSS.
      - OPL4 support is still missing, because I'm still waiting for response
      of my broken OPL4 chip. :(
      - I never saw any docs about the cards. All knowledge is taken from ACI
      driver (OSS) and OPTi9xx (ALSA) drivers. I've done my best in copying
      bugs from there to this new driver :)
      Signed-off-by: Martin Langer <martin-langer at gmx.de>
  + AC97 Codec
    - Summary: Fix silent output on some machines with AD1981x codecs
      Fixed the default state of "Headphone Jack Sense" switch on AD1981x
      codecs.  Setting this on affects the output of some machines (e.g.
      Thindpads).
      The default value is set on only hardwares which are known to work.
    - Summary: Simplify the general ac97 volume/switch callback
      Simplified the control callbacks of general AC97 volumes/switches.
    - Summary: Enable HP jack sense for FSC Scenic-W
      Enable 'Headphone Jack Sense' control on FSC Scenic-W as default, too.
    - Summary: Special AC97 patch for ASUS W1000/CMI9739 laptop
      This patch fixes sound output on the ASUS W1000 laptop with the CMI9739
      chip. It wrongly reports that it has a SPDIF in, when in fact we wish to
      use the EAPD pin.
      Signed-off-by: James Courtier-Dutton <James at superbug.co.uk>
    - Summary: Bind master and HP controls with hp_only quirk
      Bind master and HP controls when hp_only quirk is given, instead
      of removing master control.  This fixes the problem of some laptops
      which require sync'ed volume for PC-speaker and headphone output.
    - Summary: add STAC9708 output bias mixer control
      This adds a mixer control for an undocumented bit of the STAC9708
      that somehow affects the analog output.  This should help reducing
      the distortion at high output levels on ymfpci and SBLive cards.
    - Summary: Fix rate setting on multiple codecs
      From Ron Cococcia <ron.cococcia at request.com>:
      Fixed the PCM rate setting on multiple AC97 codecs.
    - Summary: Fix CM9761A codec support
      Fixed the codec patch for (probably) CM9761A.  It looks incompatible
      with other CM9761 models.
    - Summary: Fix CM9761 again
      Revert the last addition for CM9761A support.  The codec doesn't
      support the real control of Master/PCM volumes, too.
      Instead, fixed the default multi-channel register setting now.
    - Summary: Fix CM9761 again
      Fixed the silent output playback problem on CM9761.
      The SPDIF_CTRL register (0x6c) bit 17 was the culprit.
      The master volume is back again since it seems to have some
      influence on the looped input sounds.
    - Summary: use simple_strtoul instead of simple_strtol
      Replace simple_strtol with simple_strtoul for compatibility with
      2.2.x kernels.
    - Summary: Fix stereo mutes on Surround volume control
      Fix stereo mutes on Surround volume control.
    - Summary: Restore the default value after rate detection
      Restore the default value of rate registers after detection of available
      rates.  This might fix the problem of playback noises on some mobo drivers.
    - Summary: Add AD1986 support
      Added the support of AD1986.  Using the same patch as AD1985.
    - Summary: AC97 wm9713 support
      This patch series adds support for the WM9713/WM9714 family of AC97
      codecs. This family is different from "standard" AC97 codecs in that the
      default codec power state is "off". i.e. performing a register reset
      will power the device down.
      This patch also adds better support for larger single/double channel
      enumerated mixer types.
      Signed-off-by: Liam Girdwood <liam.girdwood at wolfsonmicro.com>
    - Summary: Fix ALC655/658/850 SPDIF playback route
      Fix ALC655/658/850 IEC958 (SPDIF) playback route control.
    - Summary: Replace '/' with commas in ac97 codec names
      Replaced '/' letters with commas in ac97 codec names, so that
      they can be used for sysfs entries in ac97_bus.
    - Summary: Add AC97_SCAP_NO_SPDIF flag
      Added a new flag, AC97_SCAP_NO_SPDIF, to prevent to build the SPDIF-related
      controls on ac97 codec.  This flag is used when the sound chip has its
      native SPDIF support and it conflicts with the one of AC97 codec.
    - Summary: Fix the detection of resolution of ac97 controls
      Fixed the detection of bit resolution of ac97 mixer controls.
      This will fix the problem with TI ac97 codecs.
    - Summary: Remove unused variables
      Removed unused variables (the old control definitions).
    - Summary: Add CM9780 support, fix CM9761 SPDIF
      - Added CM9780 patch
      - Fix the SPDIF support on CM9761/CM9780
      - Allow the generic enum callback to pass any number (not power of 2)
        as the value mask
    - Summary: Fix MC97 codec initialization
      This (especially 12000 -> 8000 sample rate replace) fix popular
      "MC97 converters.. not ready" error with modem codecs initializations.
      Signed-off-by: Sasha Khapyorsky <sashak at smlink.com>
    - Summary: MC97 registers reset
      Separated ac97 registers reset for audio and modem (or both) as recommended
      in AC97 spec.
      Signed-off-by: Sasha Khapyorsky <sashak at smlink.com>
    - Summary: Improve the shared-jack handling on ac97
      The handling of shared surround/clfe output jacks with line/mic-in
      on some AC97 codecs is improved.
      Instead of 'Line-In As Surround' or 'Mic As Center/LFE' switch, two
      new enum controls are introduced: 'Channel Mode' and 'Surround Jack Mode'.
      The formar changes the current output mode among 2, 4 and 6-channels.
      The latter controls whether the jacks are shared or independent.
    - Summary: fix behaviour of ac97_enum_mixer elements
      ac97_enum mixer elements (e.g., "Capture Source") did not work because
      of wrong bitmask calculation in snd_ac97_get_enum_double() and
      snd_ac97_put_enum_double().
      https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1072
      Signed-off-by: Sergey Vlasov <vsu at altlinux.ru>
    - Summary: ac97 - add the "Mic Front Input Switch" control (ALC850)
      Add the "Mic Front Input Switch" control to the mixer for ALC850.
      Enabling this input is required for using the front panel microphone
      connector with ASUS A8V motherboard.
      Signed-off-by: Sergey Vlasov <vsu at altlinux.ru>
    - Summary: ac97 - fix Mic jack sharing on AD1888 codecs
      The code for modifying the center/LFE disable bit on AD1888 codecs
      accidentally toggled the mute split bit instead.
    - Summary: ac97 - enable multichannel output on AD198x codecs
      The code for AD1980/AD1985/AD1986 codecs forgot to enable the code to
      switch the jack sharing bits on AD1888-compatible codecs.
    - Summary: Remove obsolete mixer control
      Removed the obsolete mixer control for AD1985.
    - Summary: Fix Mic/CLFE sharing on AD1985
      Fixed Mic/CLFE jack sharing on AD1985 codec.
    - Summary: Fix a wrong bit set in AC1985 code
      Fixed a wrong bit set in AD1985 surround jack controls.
  + AD1816A driver
    - Summary: Add PnP ID ADS7180
      Added PnP ID "ADS7180" (AD1816?).
  + AK4114 receiver
    - Summary: Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358
      Initial incomplete driver for ESI Juli@ cardcards based on ICE1724, AK4114,
      AK4358 and AK5385. The ICE1724 and ICE1712 main files plus some drivers are
      also updated (cleanups and new callbacks).
    - Summary: Added ESI Juli@ driver
    - Summary: fix typo in assignment of snd_ak4114_spdif_playback_put
      snd_ak4114_spdif_playback_put was assigned to the .get callback
      which resulted in a duplicate initialization of that member
    - Summary: AK4114 - fixed workqueue initialization & removed debug code
    - Summary: ak4114 (Juli@) - increased delay between statistics update & rate check
  + AK4117 receiver
    - Summary: AK4117 code - fixed cosmetic typos
  + AK4XXX AD/DA converters
    - Summary: Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358
      Initial incomplete driver for ESI Juli@ cardcards based on ICE1724, AK4114,
      AK4358 and AK5385. The ICE1724 and ICE1712 main files plus some drivers are
      also updated (cleanups and new callbacks).
  + ALS100 driver
    - Summary: fixes als100 not detecting opl3
      This patch fixes issue when opl3 device couldn't be found
      due to numbering of devices in pnp card, because search of
      opl3 device started from mpu device, which could have number
      greater than opl3 could.
      Example:
      MPU is 00:01.03
      and
      OPL is 00:01.01
      Signed-off-by: Anton Romanov <theli at ukr.net>
  + ALS4000 driver
    - Summary: Replace with macros for gameport initialization
      Use some macros for gameport initialization.  This makes much easier
      to write the compatible layer for the old gameport API in alsa-driver
      tree.
    - Summary: Replace pci_module_init() with pci_register_driver()
      Replace the obsolete pci_module_init() with pci_register_driver().
    - Summary: als4000 - Fix kernel panic with MPU401
      Fix kernel panic with als4000 when MPU401 is accessed.
  + ALSA Version
    - release: 1.0.9rc2
    - 1.0.9rc3
    - 1.0.9rc4
    - release: 1.0.9rc4a
  + ALSA sequencer
    - Summary: unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API
      The ioctl handler for hwdep, rawmidi, timer and sequencer API are rewritten
      using unlocked/compat_ioctl.
      The 32bit wrapper is merged to the core module.
    - Summary: Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros
      Replace spin/rwlock definitions with DEFINE_SPINLOCK() and DEFINE_RWLOCK()
      macros.
    - Summary: [SPARSE] Fix __user pointers
      Fixed __user pointers including other misc fixes:
       - replaced the obsolete CONFIG_SND_IOCTL32_EMUL.
       - added the proper segment change before passing the kernel pointer
         as the user pointer in PCM code.
    - Summary: Fix compilation with compat support
      Fix the compilation with 32bit compat support.
    - Summary: remove superfluous from_timer_port parameter
      Removed superfluous from_timer_port parameter from
      snd_seq_queue_process_event and queue_broadcast_event
      functions.
    - Summary: Add module_init and module_exit entries
      From Mikael Magnusson <mikaelmagnusson at glocalnet.net>:
      Added the missing module_init and module_exit entries.
    - Summary: add module aliases for rtctimer and seq-dummy
      Add snd-timer-1 and snd-seq-client-63 module aliases for the
      snd-rtctimer and snd-seq-dummy modules.
    - Summary: Fix typos
      Fix typos in alsa-kernel code for MIDI sostenuto.
      Signed-off-by: William <walsac3c AT orthoset.com>
    - Summary: big sync with 2.6 (joystick changes & mips tree)
      This is big sync with the official 2.6 tree.
      - joystick changes by Vojtech Pavlik
      - mips tree added
      - various cleanups (verify_area -> access_ok)
    - Summary: seq - fix local variable initialization
      This patch re-adds the initialization of callbacks and pcallbacks
      that was accidentally removed in the last revision.
    - Summary: Fix memory leak
      Fixed memory leak by the last change of stack reduction.
    - Summary: virmidi - fix ioctl parameter passing when creating seq port
      The last change to reduce stack usage did not adjust the parameter to
      SNDRV_SEQ_IOCTL_CREATE_PORT which resulted in passing the address of
      the pointer instead of the structure.
    - Summary: virmidi - fix ioctl parameter passing when setting client name
      The last change to reduce stack usage did not adjust the parameter to
      SNDRV_SEQ_IOCTL_SET_CLIENT_IOCTL which resulted in passing the address
      of the pointer instead of the structure.
    - Summary: sound/core/: possible cleanups
      This patch contains the following possible cleanups:
      - make needlessly global code static
      - #if 0 the following unused global functions
      - remove the following unneeded EXPORT_SYMBOL's
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
  + ALSA<-OSS emulation
    - Summary: unlocked/compat_ioctl rewrite for OSS compatible drivers
      The ioctl handlers for OSS compatible drivers are rewritten using
      unlocked/compat_ioctl.
    - Summary: [SPARSE] Fix __user pointers
      Fixed __user pointers including other misc fixes:
       - replaced the obsolete CONFIG_SND_IOCTL32_EMUL.
       - added the proper segment change before passing the kernel pointer
         as the user pointer in PCM code.
    - Summary: [SPARSE] Use unsigned int :1 bitfields
      Use unsigned int :1 bitfields.
    - Summary: fix forgotten release of semaphore in error path
      In snd_mixer_oss_get_volume1_vol and snd_mixer_oss_put_volume1_vol,
      card->controls_rwsem wouldn't be released if the boolean type
      check fails.
    - Summary: kill dead code
      The Coverity checker found this obviously dead code.
      I'm not sure which of the if (plugin == NULL) is correct - this patch
      removes the one that couldn't be true.
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
    - Summary: Fix capture on OSS emulation
      Fix the noisy capture on some hardwares over OSS emulation.
      Change back to avail_min = period_size for capture direction.
    - Summary: pcm_oss - fix SNDCTL_DSP_GETOPTR not working correctly
      This patch changes snd_pcm_oss_bytes() by adding a local variable
      for the frames -> bytes conversion, which means that the frame count
      is no longer corrupted by this conversion.
      Signed-off-by: Roger Mach <bigmach at us.ibm.com>
    - Summary: Reverted last patch for SNDCTL_DSP_GETOPTR fix & possible overflow fix
      This reverts the last patch which wrongly mixes bytes and frames.
      The real culprit might be the 32-bit overflow, so the return expression uses
      64-bit values now in snd_pcm_oss_bytes().
    - Summary: alsa-oss - improve readability of snd_pcm_oss_bytes() function
      Added bytes variable and do not use the frames argument as a temporaly
      storage for the byte counter.
    - Summary: alsa-oss - 2nd - improved readability
      Use 'long' for byte counters in snd_pcm_oss_bytes() snd_pcm_alsa_bytes().
    - Summary: Fix compilation on 32bit arch
      Fix the division with int64 for 32bit architectures.
  + ALSA<-OSS sequencer
    - Summary: unlocked/compat_ioctl rewrite for OSS compatible drivers
      The ioctl handlers for OSS compatible drivers are rewritten using
      unlocked/compat_ioctl.
    - Summary: Remove interruptible_sleep_on_timeout().
      Use wait_event_interruptible_timeout() instead of deprecated
      interruptible_sleep_on_timeout().
  + AMD InterWave driver
    - Summary: fix sound/isa/gus/interwave.c compile with PNP=n
      Emmanuel Colbus sent this patch one month ago with the following
      description:
      There is a trivial bug in the file sound/isa/gus/interwave.c .
      The variable isapnp is defined only if CONFIG_PNP is enabled, but it is
      always used few lines after.
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
  + ARM
    - Summary: Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM
      Added px2axx-ac97 and pxa2xx-pcm modules for ARM.
      AC97 driver for the Intel PXA2xx chip by Nicolas Pitre.
    - Summary: Add s3c24xx i2s audio core
      S3C24XX I2S Audio core for sound/arm. Patch
      includes makefile, Kconfig and core driver.
      Signed-off-by: Ben Dooks <ben-linux at fluff.org>
    - Summary: ARM AACI primecell driver
      Add support for the ARM AACI Primecell, which provides an AC'97
      based interface.  This driver only provides playback support.
      This has been extensively tested with an LM4549 AC'97 codec.
      Signed-off-by: Russell King <rmk at arm.linux.org.uk>
  + ARM AACI PL041 driver
    - Summary: ARM AACI primecell driver
      Add support for the ARM AACI Primecell, which provides an AC'97
      based interface.  This driver only provides playback support.
      This has been extensively tested with an LM4549 AC'97 codec.
      Signed-off-by: Russell King <rmk at arm.linux.org.uk>
  + ARM DMA routines
    - Summary: ARM DMA subsystem
      The patch below adds a convenient re-usable shim around the extended
      ARM DMA API, and is used by several ARM ALSA drivers.
      Signed-off-by: Russell King <rmk at arm.linux.org.uk>
  + ARM PXA2XX driver
    - Summary: Add pxa2xx-ac97 and pxa2xx-pcm modules for ARM
      Added px2axx-ac97 and pxa2xx-pcm modules for ARM.
      AC97 driver for the Intel PXA2xx chip by Nicolas Pitre.
    - Summary: Fix a typo
      From  Nicolas Pitre <nico at cam.org>:
      Fix an obvious typo.
    - Summary: Fix pxa2xx ac97 driver
      - Fix compile on CONFIG_PXA25x.
      - Fix the reset function to avoid hang or repeated interrupts.
      Signed-off-by: Ian Campbell <icampbell at arcom.com>
      Signed-off-by: Nicolas Pitre <nico at cam.org>
  + ARM S3C24XX IIS driver
    - Summary: Add s3c24xx i2s audio core
      S3C24XX I2S Audio core for sound/arm. Patch
      includes makefile, Kconfig and core driver.
      Signed-off-by: Ben Dooks <ben-linux at fluff.org>
  + ATIIXP driver
    - Summary: Add quirk for HP pavilion ZV5030US
      Added ac97 quirk for HP Pavilion ZV5030US to bind the control with
      mute-LED.
    - Summary: Fix suspend/resume with ATIIXP
      Fixed the suspend/resume with ATIIXP driver.
    - Summary: Add AC97_SCAP_NO_SPDIF flag
      Added a new flag, AC97_SCAP_NO_SPDIF, to prevent to build the SPDIF-related
      controls on ac97 codec.  This flag is used when the sound chip has its
      native SPDIF support and it conflicts with the one of AC97 codec.
    - Summary: Replace pci_module_init() with pci_register_driver()
      Replace the obsolete pci_module_init() with pci_register_driver().
  + ATIIXP-modem driver
    - Summary: Add workaround for buggy ATI IXP hardwares
      Added a workaround for buggy ATI IXP hardwares which returns
      bogus DMA pointer register value.
    - Summary: Set default index of modem and bt87x drivers to -2
      Set the default index value of modem and bt87x drivers to -2 so that
      the first slot is excluded when no index option is given.
      This gives other uadio drivers a chance to put them as the primary
      driver.
    - Summary: fix pm_message_t vs. u32 in alsa
      I thought I'm done with fixing u32 vs. pm_message_t ... unfortunately
      that turned out not to be the case as Russel King pointed out. This
      fixes last few bits in alsa. [These patches are independend and change
      no object code; therefore not numbered].
      Signed-off-by: Pavel Machek <pavel at suse.cz>
    - Summary: Replace pci_module_init() with pci_register_driver()
      Replace the obsolete pci_module_init() with pci_register_driver().
  + AZT3328 driver
    - Summary: Replace with macros for gameport initialization
      Use some macros for gameport initialization.  This makes much easier
      to write the compatible layer for the old gameport API in alsa-driver
      tree.
  + BT87x driver
    - Summary: Set default index of modem and bt87x drivers to -2
      Set the default index value of modem and bt87x drivers to -2 so that
      the first slot is excluded when no index option is given.
      This gives other uadio drivers a chance to put them as the primary
      driver.
    - Summary: Add __iomem prefix
      Added __iomem prefix to the mmio pointer.
  + CA0106 driver
    - Summary: Add support for Audigy2LS on MSI motherboard
      Add support for Audigy2LS on MSI motherboard.
      Fixes Bug #0901
      Signed-off-by: James Courtier-Dutton <James at superbug.demon.co.uk>
    - Summary: Increase buffer sizes for the CA0106 driver
      This patch increases the buffer size for the ca0106 driver, so this
      might help prevent over/underruns.
      Signed-off-by: James Courtier-Dutton
    - Summary: Skip ac97 SPDIF controls
      Skip building ac97 SPDIF controls via AC97_SCAP_NO_SPDIF.
      Clean up the code.
    - Summary: Fix permissions in some /proc files
      Fix by Guillaume Chazarain <guichaz at yahoo.fr>:
      Some tunables in /proc have a write() function, but as their
      permission does not reflect it, it can be confusing to the user.
      So here is a patch that corrects the mode of those files. Note that I
      have only tested the "xrun_debug" entry.
    - Summary: make code static
      This patch makes needlessly global code static.
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
    - Summary: Implement surround71 outputs on SB Live 24bit.
      Notes: Requires updated alsa-lib.
    - Summary: When the alsamixer says "SPDIF Out [Off]", SPDIF output should be off and Analog output should be on.
               This fixes a bug whereby when the snd-ca0106 module first loads,
               alsamixer says "SPDIF Out [Off]" but no analog sound comes from the speakers.
               This covers any bug reports that said things like
               "mixer fails to remember analog output on, when the system is rebooted."
    - Summary: Tidy up card recognition.
  + CMIPCI driver
    - Summary: CMI8768 patch
      Hi,
      I made a patch for CM8768, which has the same PCI ID but there are
      several HW diffecece, aas listed:
      1. 8768 has no PCM volume control.
      2. The ADC of 8768 can only record in 44.1kHz or 48kHz.
      3. 8768 can support up to 8 channels.
      I made change for item 2 and 3, I want to use the softvol plugin but
      don't know how to. The driver just don't generate the PCM volume slider
       for now.
      Signed-off-by: ChenLi Tien <cltien at cmedia.com.tw>
    - Summary: Don't query chip models on CMI8338
      Don't call query_chip() for CMI8338.  It's for CMI8738/8768 only.
    - Summary: Replace with macros for gameport initialization
      Use some macros for gameport initialization.  This makes much easier
      to write the compatible layer for the old gameport API in alsa-driver
      tree.
  + CS423x drivers
    - Summary: initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
      - Two new Control Names introduced: "Radio" for the onboard radio and
      "Tone Control - xxx (k)Hz" for an equalizer control.
      - I've tried to write support for all three miroSOUND cards PCM1 pro,
      PCM12 and PCM20 Radio, but only PCM12 (rev. E) is tested. Especially
      OPTi929 cards are completely untested.
      - These cards have two mixers: ACI and OPTi9xx. Both are merged into
      one ALSA mixer device. That's different to OSS.
      - OPL4 support is still missing, because I'm still waiting for response
      of my broken OPL4 chip. :(
      - I never saw any docs about the cards. All knowledge is taken from ACI
      driver (OSS) and OPTi9xx (ALSA) drivers. I've done my best in copying
      bugs from there to this new driver :)
      Signed-off-by: Martin Langer <martin-langer at gmx.de>
  + CS4281 driver
    - Summary: fix locking for rawmidi trigger callbacks
      Use spin_lock_irqsave() instead of spin_lock() in places where we
      could be interrupted by another hardware interrupt that could call
      the rawmidi trigger callback that could try to take the same lock.
      Additionally, remove locking code that is no longer needed now that
      the trigger callback is no longer called recursively from the rawmidi
      "event" handler.
    - Summary: remove superfluous spin_lock_irqsave calls
      In PCM trigger and pointer callbacks, replace spin_lock_irqsave() with
      spin_lock() because interrupts are already guaranteed to be disabled.
    - Summary: remove unneeded interrupt locks in rawmidi drivers
      Now that the output trigger callback is called from a softirq instead
      of an hardirq, we don't need anymore to disable interrupts in our
      interrupt handlers.
    - Summary: Replace with macros for gameport initialization
      Use some macros for gameport initialization.  This makes much easier
      to write the compatible layer for the old gameport API in alsa-driver
      tree.
    - Summary: cs4281 - fix typos in the case gameport is disabled
      This patch fixes the wrong names of the dummy gameport functions
      used when CONFIG_GAMEPORT isn't set.
    - Summary: cs4281 - fix DLLRDY not seen problem
      Reset the FPDN bit of the EPPMC register if needed.
      Signed-off-by: Arnaud Patard <arnaud.patard at rtp-net.org>
  + CS46xx driver
    - Summary: remove superfluous spin_lock_irqsave calls
      In PCM trigger and pointer callbacks, replace spin_lock_irqsave() with
      spin_lock() because interrupts are already guaranteed to be disabled.
    - Summary: big sync with 2.6 (joystick changes & mips tree)
      This is big sync with the official 2.6 tree.
      - joystick changes by Vojtech Pavlik
      - mips tree added
      - various cleanups (verify_area -> access_ok)
  + Digigram VX Pocket driver
    - Summary: Add missing inclusion of linux/device.h
      Added the missing inclusion of <linux/device.h>
  + Digigram VX core
    - Summary: Show firmware loading state in proc file
      Show the firmware loading state in proc file.
    - Summary: Add missing inclusion of linux/device.h
      Added the missing inclusion of <linux/device.h>
    - Summary: replace schedule_timeout() with msleep()
      Use msleep() instead of schedule_timeout() to guarantee the task
      delays as expected.
      Signed-off-by: Nishanth Aravamudan <nacc at us.ibm.com>
    - Summary: driver model type fixes for ALSA
      Fixes by Pavel Machek <pavel at suse.cz>:
      suspend() routines no longer get u32 as their parameter (they get
      pm_message_t, which is u32 for now, but will change in 2.6.12 or
      so). This fixes ALSA to notice this, and uses constants with right
      types where appropriate. It results in no code changes. [Best results
      will be when patching against latest -mm, you may get some warnings if
      you patch it into older kernel, but it should still do the right
      thing.] Please apply,
      							Pavel
      [In addition, suspend callback type is changed to follow to the standard
       style taking no state argument -- Takashi]
  + Digigram VX222 driver
    - Summary: Add missing inclusion of linux/device.h
      Added the missing inclusion of <linux/device.h>
  + Documentation
    - Summary: Fix typos in doc
      Fixed typos in the document by Kirill Smelkov <kirr at mns.spb.ru>
    - Summary: fix typo
    - Summary: Add Intel HDA driver
      Added a new Intel High-Definition audio driver.
      The driver consists of two separate modules: the generic support
      module for HD codecs (snd-hda-codec), and the driver for Intel ICH6/7
      chipset (snd-hda-intel).  The snd-hda-intel was called formerly
      snd-azx in the ALSA 1.0.8 rlease.
    - Summary: Move azx driver to alsa-kernel tree
      snd-azx driver is moved to alsa-kernel tree.
      Now it's renamed to snd-hda-intel (to avoid the codename).
    - Summary: Warning doc about VIA82xx recording
      Add warning about the consequences of adjusting the 'Input Source Select'
      of VIA82xx.
      Signed-off-by: Ross Kendall Axe <ross.axe at blueyonder.co.uk>
    - Summary: Remove descriptions of obsolete options
      Removed descriptions of obsolete irq_mask and irq_list options for
      vxpocket, vxp440 and pdaudiocf drivers.
    - Summary: HDSP fixes
      * init sequence cleanup and firmware upload related bugfixes
      * more robust revision detection scheme
        (should transparently handle new revisions)
      * allow hdsploader and the kernel fw loader to coexist
        this is useful for cardbus user who compiled the driver in-kernel
        (userspace may not be ready to upload the firmware when the card
         is probed)
      * removed confusing and obsolete passthru option (was interfering
        with the mixer when opening the device for capture or playback)
        this change requires a recompile of the userspace tools against
        the patched hdsp.h
      * removed confusing and obsolete line_outs_monitor module param
      * made precise_ptr the default behaviour, and runtime tweakable
        (removed corresponding module param)
      * add an alsa ctl to disable the use of the midi tasklet, and
        process midi data in the interrupt handler
        (using the tasklet is still the default)
        this is mainly intended for users of Ingo Molnar's RT patch
      * metering fix for Multiface/Digiface users (closes ALSA BUG #0000801)
      * small endianness fix
      * ALSA-Configuration.txt HDSP entry update
      * error messages cleanup
      Signed-off-by: Thomas Charbonnel <thomas at undata.org>
    - Summary: Interpret negative index as bitmask of permissible indexes
      Currently arguments of the "index" option from 0 through SNDRV_CARDS-1
      force a module to take the specified index. Index -1 makes the module
      take the first available index. This patch extends this convention so
      that a negative index value is interpreted as a bitmask of the
      permitted indexes. Special cases:
          -1 0xffffffff 0 and up
          -2 0xfffffffe 1 and up
          -4 0xfffffffc 2 and up
          ...
      The patch includes also corrections of ALSA-Configuration.txt document.
      Signed-off-by: Thomas Hood <jdthood at yahoo.co.uk>
    - Summary: Set default index of modem and bt87x drivers to -2
      Set the default index value of modem and bt87x drivers to -2 so that
      the first slot is excluded when no index option is given.
      This gives other uadio drivers a chance to put them as the primary
      driver.
    - Summary: Fix descriptions about suspend/resume callbacks
      Fixed the descriptions about suspend/resume callbacks.
      The suspend callback takes pm_message_t argument, and resume takes no
      extra argument now.
    - Summary: fix snd-serial-u16550 docs for setserial
      Change the documentation about disabling the standard serial driver
      to use "uart none" instead of "none" as setserial option.
    - Summary: document rawmidi interface
      Add information about the rawmidi interface to the driver-writing
      documentation.
    - Summary: documentation - clarify information about atomic callbacks
      Document that the ack callback is atomic, too, and that the atomic
      callbacks are called with disabled interrupts.  Additionally, clarify
      the description of the rawmidi trigger callback.
    - Summary: rawmidi - move output trigger into a tasklet
      Calling the output trigger callback from another interrupt handler
      can lead to unintuitive locking requirements (i.e., spin_lock_irqsave)
      in the sound card interrupt handler.  Moving the call to the callback
      into a tasklet cures this, and has the added benefit that the callback
      is called only once if more that one sequencer event has been
      delivered in one timer interrupt tick.
    - Summary: some docs for the new emu10k1 multichannel functionality
      Not complete, or even spell checked, but in case I don't get a chance to
      work on it again before 1.0.9, here is what i have so far.  It should go
      in alsa-kernel/Documentation/emu10k1-jack.txt.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: Support all sample rate conversion capabilities of DXS channels
      Add support for full sample rate conversion capabilities of DXS
      channels present in VIA VT8233/5/7 controllers:
      - any sample rate in the 8000 ... 48000 Hz range is supported even if
        the AC'97 codec supports only 48000 Hz output;
      - different DXS channels can use different sample rates at the same
        time (the controller performs required sample rate conversion and
        mixing in hardware).
      Signed-off-by: Sergey Vlasov <vsu at altlinux.ru>
    - Summary: Replace pci_module_init() with pci_register_driver()
      Replace the obsolete pci_module_init() with pci_register_driver().
    - Summary: Add position_fix module option
      Added position_fix module option to HDA-intel driver for fixing up
      the DMA position (possibly hardware-) bugs.
    - Summary: Add ASUS Z71V support
      Added the ASUS Z71V (or similar) laptop support.
    - Summary: Adding support for ATI IXP450 HD Audio device support
      This patch changes the Intel HD Audio device driver to include
      the support of HD Audio device embedded in ATI south bridge
      IXP450. Because the design of ATI chipset follows intel HD Audio
      specification 1.0, the programming method is the same as that
      of intel HD Audio device exception one minor change which requires
      to enable snoop for DMA transport. There are 3 changes that have been
      made to hda_intel.c file.
        1. Added device ID for ATI HD Audio device;
        2. Increase maximum CODEC supported to 4;
        3. Enable snoop during the driver initialization.
      Signed-off-by: Frederick Li <fli at ati.com>
    - Summary: Add support of VIA VT8251/VT8237A HD-Audio controllers
      Added the support of VIA VT8251/VT8237A HD-Audio controllers.
      They are (almost) compatible with Intel ICH6/7.
    - Summary: cmipci: Fix obsolete description
      Fixed obsolete description about CMIPCI driver.
    - Summary: Update documentation for ice1712 and ice1724
      Updated the documentation for ice1712 and ice1724 drivers.
      Added the device description for shuttle SN25P missing in the last patch.
    - Summary: [doc] Fix a comment about dxs_support for via82xx driver
      Fixed/improved a comment about dxs_support option for via82xx driver.
    - Summary: ice1724 - Add support of Chaintech AV-710
      Add the support of Chaintech AV-710 to ice1724 driver.
      The patch includes the WM-codec initialization fix by
      Jaanus Kivistik <jaanus at no.spam.ee>.
      Since both AV-710 and AMP Audio2000 have the same SSID, initialize
      WM codecs as default for both devices.  In case it breaks Audio2000,
      you can pass "model=amp2000" option to avoid WM codec initialization.
  + EMU10K1/EMU10K2 driver
    - Summary: Changes "Music" to "Synth" in mixer control names
      Changes "Music" to "Synth" in mixer control names
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: capture EXTINs with multichannel device
      This patch changes the emu10k1 multichannel capture device (hw:x,2) to
      capture the 16 external inputs by default.  This involves adding DSP
      code to route the EXTINs to the FXBUS2 (EFX capture) channels and
      setting the corresponding FXWC bits by default.
      This allows capturing multiple inputs simultaneously.  It completely
      bypasses the capture controls of the mixer.  With my Audigy2 ZS I can
      capture LineIn, Line2, and Aux2 at the same time (6 channels).
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: add 96Khz support and setting sample rate for	direct SPDIF output
      This patch should add support for 96Khz "direct SPDIF" aka "SPDIF
      Bypass" (not P16V) playback mode available on the Audigy1 and 2 and
      newer SBLives (?).  It lets you bypass the 48khz DSP resampling when
      using the card in digital mode.  It also adds 96khz analog playback
      support, good for testing but less interesting because it's downsampled
      to 48khz.  A new mixer control "Audigy SPDIF Output Sample Rate" is
      created, you can choose 44100, 48000, or 96000.  Standard SPDIF
      playback, AC3 passthrough (real 96khz playback), and analog playback
      (96khz is resampled to 48khz in the DSP) all work with a 16 bit,96khz
      wav file.  Only the last was tested due to lack of any SPDIF hardware.
      This was derived mostly from the opensource.creative.com driver.  All
      that was needed for 96khz playback to work in analog mode was changing
      the format to 8000_96000 (looks like the creative driver supports 192khz
      too).  And, of course this sample rate has always been supported (albeit
      downsampled) because if you have 48khz samples in a soundfont the
      envelope engine has to be able to pitch shift them in both directions.
      I still have not been able to figure out how to get 24 bit playback to
      work.  This is possible, independent of the P16V, for spdif and analog
      24/48 playback via the DSP.  I do know how to access the full 24 bits
      from the ADC from within the DSP, just not how to get it in there.  For
      one thing I have no idea which 24 bit format it supports.  Some of them
      seemed to work with JACK but produced noise.
      This was generated with my multichannel patch but it applies against
      ALSA CVS as well.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: split snd_emu10k1_trigger_voice into trigger and prepare functions
      This patch provides better sync between multiple voices by separating
      the trigger_voice function into prepare_voice which sets up the volume
      and filter parameters and trigger_voice which sets pitch target, current
      and initial pitch and enables the voice interrupt.  For standard PCM
      this should not make much of a difference but will be important for
      minimizing phase error between voices for multichannel PCM.
      This behavior was derived from the opensource.creative.com driver.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: Enables SPDIF output on the Audigy2 Value
      Enables SPDIF output on the Audigy2 Value.
      It seems to work for PCM, but not AC3 yet.
      Signed-off-by: James Courtier-Dutton <James at superbug.co.uk>
    - Summary: emu10k1 driver - add multichannel device hw:x,3 [1/8]
      Update header file for multichannel support.
      Add some new register info.
      Signed-Off-By: Lee Revell <rlrevell at joe-job.com>
    - Summary: emu10k1 driver - add multichannel device hw:x,3 [2-8/8]
      This series of patches adds a 16 channel non interleaved PCM playback
      device, hw:x,3, to the emu10k1 driver.  It also adds support for the
      newly discovered per channel half loop interrupt.
      Signed-Off-By: Lee Revell <rlrevell at joe-job.com>
    - Summary: emu10k1 - add "voices" /proc entry for debugging the voice allocator
      This patch adds a "voices" /proc entry for debugging the voice
      allocator.  It also increases the size of the ptr_regs files to display
      the values for all channels.  Finally it updates the names of the EFX
      recording inputs from "???" to "FXBUS2_*".
      Signed-Off-By: Lee Revell <rlrevell at joe-job.com>
    - Summary: [SPARSE] Use unsigned int :1 bitfields
      Use unsigned int :1 bitfields.
    - Summary: Fix comiple with old gcc
      Fix compile with old gcc.
    - Summary: [SPARSE] Fix __user pointers
      Fix the access to __user pointers in some places.
      Added proper casts.
    - Summary: remove an unnecessary printk
      This patch removes an unnecessary printk accidentally left in the
      multichannel patch.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: Fix the Audigy SPDIF sample rate register definitions
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: emu10k1 - fix the initial value for Captured FX8010 Outputs
      - rename 'EFX voices mask' to 'Captured FX8010 Outputs'
      - fix the initial value
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: Fix pops and clicks at beginning/end of playback
      The patch fixes pops and clicks at the beginning and the end of playback
      on emu10k1 due to the cache size mismatch.
      Signed-off-by: Jindrich Makovicka <makovick at kmlinux.fjfi.cvut.cz>
    - Summary: Fix voice allocation corruption
      Fixed the corrupted voice allocation in snd_emu10k1_pcm_channel_alloc().
    - Summary: emu10k1 - give the subdevices descriptive names
      Give the subdevices descriptive names, like "ADC Capture/Standard PCM Playback" instead of "EMU10K1" for
      hw:x,0 and "Multichannel Capture/PT Playback" instead of "EMU10K1 EFX"
      for hw:x,2.  Now that qjackctl enumerates the devices automatically,
      this is a significant usability improvement.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: emu10k1 - Silence the "BUG (or not enough voices)" message
      Silence the "BUG (or not enough voices)" message. This does not in fact
      represent a bug; it's a normal ocurrence when the wavetable synth is in use.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: emu10k1 - copyright additions/fixes
      The next two patches add my copyright for adding the multichannel PCM
      support to emupcm.c and emumixer.c.
      The final patch adds Clemens Ladisch to the copyright on timer.c, rather
      than just saying "Copied from similar code by CL".  This has been
      bugging me for a while, since I just copied and pasted from the ymfpci
      driver & changed the registers.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: emu10k1 - add support for p16v chip (24-bit playback)
      Add 24bit, 96khz support for multichannel playback on the Audigy 2 sound cards.
      Signed-off-by: James Courtier-Dutton <James at superbug.demon.co.uk>
    - Summary: fix P16V breakage for non Audigy2 cards
      The P16V patch unconditionally checks the IPR2 register in the interrupt
      handler resulting in infinite loop and system lockup on any non Audigy2
      cards.  I really hate checking emu->is_audigy and emu->revision in a
      fast path like the IRQ handler but I don't see another way.
      Also, don't bother allocating/freeing the DMA buffer for P16V unless
      it's really present.
      This is a critical fix and should trigger an immediate rc2 release IMO.
      Currently any emu10k1 users other than Audigy 2 will lock up hard as
      soon as they play any sound.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: fix misc oopses
      Fix Oops with Multi-channel (EFX) mixer controls.
      Signed-off-by: Arnaud Patard <apatard at mandrakesoft.com>
    - Summary: emu10k1 external tram size
      This patch fixes wrong size reported by driver for external tram. It
      reports size in bytes and should report it in samples as for internal tram.
      Signed-off-by: Peter Zubaj <pzad at pobox.sk>
    - Summary: Fix 96000 SPDIF out from Audigy 2 P16V
      This allows one to output at 96000 to the SPDIF using the P16V chip.
      Note: The sample phase is wrong when using the P16V chip, but at least
      no resampling is done.
      Signed-off-by: James Courtier-Dutton
    - Summary: Add framework for better audigy sound card capabilities selection
      This patch adds more options to help identify all the many different
      creative sound cards. It will eventually be used to control features
      more finely.
      Signed-off-by: James Courtier-Dutton
    - Summary: Fixes AC3 output on Audigy2 sound cards
      This patch adds a DSP patch to fix an spdif_bug on some Audigy2 cards.
      Signed-off-by: James Courtier-Dutton
    - Summary: Clean up the chip detection
      Minor clean-ups of the chip detectoin code.
    - Summary: Fix Oops in snd_emu10k1_add_controls
      Fixed Oops in snd_emu101k_add_controls (introduced in the last patch
      for stack usage reduction).
    - Summary: Fix EFX voice allocation/preparation
      Fixed a bug (possibly Oops) in allocation/preparation of EFX voices
      The invalid voice pointer was accessed when voices are allocated over
      the voice table boundary.
      The patch includes a small clean-up & optimization.
    - Summary: Add AC97_SCAP_NO_SPDIF flag
      Added a new flag, AC97_SCAP_NO_SPDIF, to prevent to build the SPDIF-related
      controls on ac97 codec.  This flag is used when the sound chip has its
      native SPDIF support and it conflicts with the one of AC97 codec.
    - Summary: Adds Capture to P16V chip.
      One can select which capture source, but one cannot yet set volumes.
    - Summary: Add's identification of the SB Live! Platinum [CT4760P]
    - Summary: Added identification for the Audigy ES.
    - Summary: clean up card features
      This patch converts the emu10k1 driver to use the card capabilities
      structure for some more things.
      Not extensively tested but seems to work.
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - Summary: Use old default id strings for compatibility
      Use expliciitly the old default id strings for backward compatibility.
      This will make "alsactl restore" working again.
    - Summary: Fix the default id of multiple cards
      Fixed the default id string in case identical multiple cards exist.
    - Summary: Audigy SB0090 identification
      This add identification of Audigy 1 model SB0090 and fixes
      problems with ac97 codec (mic not working).
      Signed-off-by: Peter Zubaj <pzad at pobox.sk>
    - Summary: Check revision for the proper detection of audigy 2
      Check ther revision to detect non-listed audigy 2 boards.
    - Summary: Display SPDIF in status in proc fs "spdif-in" file.
    - Summary: Improve SPDIF playback via the P16V/CA0151 chip.
      Although we can set 44100 as the output rate, the SPDIF can do it, but the Analog output cannot.
      The SPDIF has the bug, whereby the Left channel arrives one sample late, so although we don't do any resampling,
      it is not good for AC3 non-audio output.
    - Summary: Improve playback startup. Increase buffer size, and reduce xruns.
    - Summary: Fix typo in speaker routing. Now sound comes from the correct speakers
      when using the p16v HD device.
    - Summary: Fix compile warning
      Fix compile warnings regarding the unused variables/functions.
    - Summary: Fix permissions in some /proc files
      Fix by Guillaume Chazarain <guichaz at yahoo.fr>:
      Some tunables in /proc have a write() function, but as their
      permission does not reflect it, it can be confusing to the user.
      So here is a patch that corrects the mode of those files. Note that I
      have only tested the "xrun_debug" entry.
    - Summary: trivial warning fix for emu10k1
      When building with gcc -W sound/pci/emu10k1/emupcm.c produces this little
      warning in 2.6.12-rc2-mm3 :
        sound/pci/emu10k1/emupcm.c:265: warning: `inline' is not at beginning of
      declaration
      No big deal, but trivial to fix.
      Signed-off-by: Jesper Juhl <juhl-lkml at dif.dk>
    - Summary: Update A_SAMPLE_RATE register details.
    - Summary: Support multiple capture rates on p16v.
      The capture rate does in fact vary, but it only captures anything if
      the HD Capture source is set to I2S or AC97. I have not tested if the sound
      is actually captured from an physical input of some type or not.
      TODO: Get SPDIF capture working.
    - Summary: Implement different capture sources.
      e.g. When HD Capture source is set to SPDIF,
           setting HD Capture channel to 0 captures from CDROM digital input.
           setting HD Capture channel to 1 captures from SPDIF in.
    - Summary: Increase capture buffer sizes.
    - Summary: emu10k1 - add SB0060 to emu_chip_details
      The following patch adds SB0060 to emu_chip_details.
      Signed-off-by: Mikael Magnusson <mikaelmagnusson at glocalnet.net>
    - Summary: emu10k1: add details for the audigy player box version
      Add details for the audigy player box version.
      Signed-off-by: Arnaud Patard <arnaud.patard at rtp-net.org>
  + EMU8000 driver
    - Summary: replace schedule_timeout() with msleep()
      Use msleep() instead of schedule_timeout() to guarantee the task
      delays as expected.
  + ENS1370/1+ driver
    - Summary: remove superfluous spin_lock_irqsave calls
      In PCM trigger and pointer callbacks, replace spin_lock_irqsave() with
      spin_lock() because interrupts are already guaranteed to be disabled.
    - Summary: remove unneeded interrupt locks in rawmidi drivers
      Now that the output trigger callback is called from a softirq instead
      of an hardirq, we don't need anymore to disable interrupts in our
      interrupt handlers.
  + ES1968 driver
    - Summary: Fix resume of es1968
      Fixed the resume of es1968.
       - restore the running PCM set up properly in resume
       - ignore spurious hw-vol irqs during resume
    - Summary: Fix Oops with joystick support
      Fix Oops when joystick is enabled.
    - Summary: Add the vendor 0x1558 to PM whitelist of es1968
      Added the vendor id 0x1558 to the power management whitelist of es1968 driver.
  + FM801 driver
    - Summary: FM801 - radio: Fixed thinko for tea575x_tuner module parameter (int type not bool)
    - Summary: Add PCI ID for Gallant Odyssey Sound 4
      The Gallant Odyssey Sound 4 card is based on the ForteMedia FM801
      chip, but has a different PCI ID.
      Signed-off-by: Sergey Vlasov <vsu at altlinux.ru>
  + GUS Library
    - Summary: insert set_current_state() before schedule_timeout()
      Insert set_current_state() before schedule_timeout(). Without the
      insertion, schedule_timeout() returns immediately.
      Signed-off-by: Nishanth Aravamudan <nacc at us.ibm.com>
    - Summary: replace schedule_timeout() with msleep_interruptible()
      Use msleep_interruptible() instead of custom wait code involving
      schedule_timeout() to guarantee the task delays as expected. This also
      removes a dependence on the value of HZ.
      Signed-off-by: Nishanth Aravamudan <nacc at us.ibm.com>
    - Summary: remove interruptible_sleep_on_timeout() usage
      Replace deprecated interruptible_sleep_on_timeout() with
      wait_event_timeout(). Code is not identical, as the current sleeping
      system is 1 jiffy at a time checking atomic_read()'s return every
      iteration. Patch is compile-tested.
      Signed-off-by: Nishanth Aravamudan <nacc at us.ibm.com>
    - Summary: [SPARSE] Use unsigned int :1 bitfields
      Use unsigned int :1 bitfields.
    - Summary: GUS - Remove unused gus_lfo.c file
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
    - Summary: sound/isa/: cleanups
      This patch contains the following possible cleanups:
      - make needlesly global code static
      - #if 0 the following unused global functions:
        - gus/gus_volume.c: snd_gf1_gvol_to_lvol_raw
        - gus/gus_volume.c: snd_gf1_calc_ramp_rate
        - gus/gus_volume.c: snd_gf1_compute_vibrato
        - gus/gus_volume.c: snd_gf1_compute_pitchbend
        - gus/gus_volume.c: snd_gf1_compute_freq
        - gus/gus_io.c: snd_gf1_i_adlib_write
        - gus/gus_io.c: snd_gf1_i_write_addr
        - gus/gus_io.c: snd_gf1_pokew
        - gus/gus_io.c: snd_gf1_peekw
        - gus/gus_io.c: snd_gf1_dram_setmem
        - gus/gus_io.c: snd_gf1_print_global_registers
        - gus/gus_io.c: snd_gf1_print_setup_registers
        - gus/gus_io.c: snd_gf1_peek_print_block
        - gus/gus_io.c: snd_gf1_print_setup_registers
        - gus/gus_io.c: snd_gf1_peek_print_block
      - #if 0 the following unused global variable:
        - gus/gus_tables.h: snd_gf1_scale_table
      - remove the following unneeded EXPORT_SYMBOL's:
        - gus/gus_main.c: snd_gf1_i_write16
        - gus/gus_main.c: snd_gf1_start
        - gus/gus_main.c: snd_gf1_stop
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
  + Generic drivers
    - Summary: Add PC-speaker PCM driver support
      Added PC-Speaker PCM driver support by Stas Sergeev.
    - Summary: replace the param arrays with a single vars
      The attached patch replaces the param arrays
      with a single vars, as the PC-Speaker is
      usually single. Also some vars are made
      static and the hand-made MIN/MAX replaced
      by the pre-defined min/max.
      Signed-off-by: Stas Sergeev <stsp at aknet.ru>
    - Summary: [SPARSE] Use NULL instead of 0
      Use NULL for pointers instead of 0.
    - Summary: fix indentation
    - Summary: add port names for serial MIDI ports
      Give each of the MIDI ports created by snd-serial-u16550
      a unique name.
    - Summary: fix locking for rawmidi trigger callbacks
      Use spin_lock_irqsave() instead of spin_lock() in places where we
      could be interrupted by another hardware interrupt that could call
      the rawmidi trigger callback that could try to take the same lock.
      Additionally, remove locking code that is no longer needed now that
      the trigger callback is no longer called recursively from the rawmidi
      "event" handler.
    - Summary: remove unneeded interrupt locks in rawmidi drivers
      Now that the output trigger callback is called from a softirq instead
      of an hardirq, we don't need anymore to disable interrupts in our
      interrupt handlers.
  + HDA Codec driver
    - Summary: Add Intel HDA driver
      Added a new Intel High-Definition audio driver.
      The driver consists of two separate modules: the generic support
      module for HD codecs (snd-hda-codec), and the driver for Intel ICH6/7
      chipset (snd-hda-intel).  The snd-hda-intel was called formerly
      snd-azx in the ALSA 1.0.8 rlease.
    - Summary: Fix resume callback
      Fixed resume callback to follow the recent change of PM callbacks.
    - Summary: Fix detection of AFG node
      Fix the detection of AFG node with unsolicited events.
    - Summary: [SPARSE] Use NULL instead of 0
      Use NULL for pointers instead of 0.
    - Summary: Don't set up the front stream twice
      Don't set up the front stream twice in the loop.
    - Summary: Fix SPDIF output
      Fixed SPDIF output (over multi-out).
    - Summary: Fix Digital Input
      Fixed the SPDIF digital input support for HDA codecs.
      New controls "IEC958 Capture Switch" and "IEC958 Capture Default"
      are added.
    - Summary: ALC882 support, fix ALC880 5-stack mode
      - Added the ALC882 support.
        Currently no model selections; full-mode with digital I/O only.
      - Fixed the widget assignment in ALC880 5-stack mode.
    - Summary: Fix digital input
      Fixed SPDIF digital input.
    - Summary: Fix ALC260 support
      Fix ALC260 support on HP machines.
    - Summary: Fix ALC260 input
      Fixed the ALC260 input on HP machines.  Added the front mic support.
    - Summary: Use full-digital model as default for CMI9880
      Use full-digital model as default for CMI9880 rather than the
      minimal model.
    - Summary: Add new C-Media 9880 codec ID
      Following change need to be added for newer C-Media 9880 codec ID.
      Signed-off-by: ChenLi Tien <cltien at cmedia.com.tw>
    - Summary: Fix SPDIF output on CMI9880
      There is mute control on 9880's spdif (IEC958) out, so it needs to be
      turned on/off in mixer.
      The patch is for CVS version and I think it can be patched to azx too.
      Hope this also fix the 9880 SPDIF-out bug.
      Signed-off-by: ChenLi Tien <cltien at cmedia.com.tw>
    - Summary: use amp capabilities from afg if amp override not set
      Fix by Matt <matt at embeddedalley.com>:
      Some HDA codec nodes contain an amp, but do not provide local amp
      capabilities.  In these cases, AC_WCAP_AMP_OVRD is not set so we
      should query the AFG nid in order to get the general amp capabilities.
    - Summary: correct comment for setting widget output
      This patch has no real logical change, it simply correct the comment.
      Signed-off-by: ChenLi Tien<cltien at cmedia.com.tw>
    - Summary: Add AD1986A support
      Added the patch for Analog Device AD1986A codec.
    - Summary: Add Mono volume controls for ALC260
      Added Mono volume controls for ALC260 codec.
    - Summary: fix multi-channel for model==full
      The patch_cm9880.c can't play side/C/B channels from front panel jacks.
      I fixed it by adding select pin.
      Signed-off-by: ChenLi Tien <cltien at cmedia.com.tw>
    - Summary: choose multi-channel jacks automatically
      Patch by C.L. Tien <cltien at cmedia.com.tw>:
      The patch makes cm9880 to choose multi-channel jacks automatically.
      1. I found the current code has basic_init, which already includes
         necessary controls for 6-stack initialization, so I don't need
         another model.
      2. I add a new model "auto" to let the driver find a. if there are
         option real panel/front panel, b. the jacks to be used for multichannel.
      Because the jack color are based on MS's channel sequence, so the "auto"
      model will pick the same jacks for multichannel MS uses. I did this to
      hope to minimize users questions. These code can also be applied to other
      codecs but I don't have any to test.
    - Summary: hda: fix vref cap and ctl values
      Fix some vref defines so they are valid for the different bits in
      the pin cap and pin control registers. Please apply.
      Signed-off-by: Matt <matt at embeddedalley.com>
    - Summary: add sigmatel codec support
      Add initial SigmaTel codec support for 9200 and 922x. Note that
      this hda patch relies on the configuration default registers to
      be set correctly (normally by BIOS/firmware) in order for it to
      set up pin widgets properly. There's a test switch in the patch
      so it will work with the SigmaTel reference boards that are usually
      plugged into a system that doesn't set the configuration default
      registers. It supports 2 channel analog out and line/mic in. I
      plan to add >2 channel support and spdif support shortly.
      Please apply.
      Signed-off-by: Matt <matt at embeddedalley.com>
    - Summary: Add AD1981HD and AD1983 support
      Added the support of AD1981HD and AD1983 codecs.
      Including the fix for AD1986A.
    - Summary: Remove dead code
      Removed the dead (duplicated) code.
    - Summary: Misc clean up
      Misc clean up: move the definitions of constants for pinctl to a single place.
    - Summary: Fix and cleanup of CM9880 auto-configuration
      Fix and cleanup of CM9880 automatic PIN configuration.
      snd_hda_codec_setup_stream() doesn't do anything when NID is 0.
    - Summary: Add ASUS Z71V support
      Added the ASUS Z71V (or similar) laptop support.
    - Summary: Add test model for debugging ALC880 devices
      Added "test" model for testing/debugging the devices with ALC880 codec.
      This model is built only when CONFIG_SND_DEBUG is set.
    - Summary: Rename pci_vendor/pci_device to pci_subvendor/pci_subdevice
      Renamed pci_vendor/pci_device fields to pci_subvendor/pci_subdevice.
      They are really PCI subsystem IDs.
    - Summary: make code static
      This patch makes needlessly global code static.
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
    - Summary: Suppress error message
      Suppressing the error message regarding no AFG.
      This is often harmless (e.g. probing a modem codec).
    - Summary: Allow more than 2 channel modes
      Allow "Channel Mode" control to have more than 2 modes.
    - Summary: Add Analog Devices vendor name
      Added the missing vendor name entry for Analog Devices.
    - Summary: hda-code: Fix the array size of codec list
      Fixed the wrong array size of the codec pointer list.
    - Summary: Fix ALC880 capture problems
      Fixed the capture on some ALC880 devices.
      The node 0x07 is sometimes invalid as an ADC.  Also, the intialization
      of ADC nodes are fixed on some models.
  + HDA Intel driver
    - Summary: fix usage of preprocessor directive inside macro
      gcc-2 complains about preprocessor directives inside a macro argument list
    - Summary: Add support for ESB2 Southbridge HDA
      Patch by Jason Gaston <jason.d.gaston at intel.com>:
      Added the support for the upcomming ESB2 Southbridge HDA DID.
    - Summary: Add position_fix module option
      Added position_fix module option to HDA-intel driver for fixing up
      the DMA position (possibly hardware-) bugs.
    - Summary: Adding support for ATI IXP450 HD Audio device support
      This patch changes the Intel HD Audio device driver to include
      the support of HD Audio device embedded in ATI south bridge
      IXP450. Because the design of ATI chipset follows intel HD Audio
      specification 1.0, the programming method is the same as that
      of intel HD Audio device exception one minor change which requires
      to enable snoop for DMA transport. There are 3 changes that have been
      made to hda_intel.c file.
        1. Added device ID for ATI HD Audio device;
        2. Increase maximum CODEC supported to 4;
        3. Enable snoop during the driver initialization.
      Signed-off-by: Frederick Li <fli at ati.com>
    - Summary: Add support of VIA VT8251/VT8237A HD-Audio controllers
      Added the support of VIA VT8251/VT8237A HD-Audio controllers.
      They are (almost) compatible with Intel ICH6/7.
    - Summary: Fix a typo in position_fix module option type
      Fixed a typo in the type of position_fix module option.
  + HDA generic driver
    - Summary: Add Intel HDA driver
      Added a new Intel High-Definition audio driver.
      The driver consists of two separate modules: the generic support
      module for HD codecs (snd-hda-codec), and the driver for Intel ICH6/7
      chipset (snd-hda-intel).  The snd-hda-intel was called formerly
      snd-azx in the ALSA 1.0.8 rlease.
    - Summary: Fix mono volume/mute controls
      Fixed mono volume/mute controls.  They were handled as stereo mistakenly.
    - Summary: Fix Digital Input
      Fixed the SPDIF digital input support for HDA codecs.
      New controls "IEC958 Capture Switch" and "IEC958 Capture Default"
      are added.
    - Summary: Fix auto-probing of widget tree
      Fixed auto-probing of the widget tree, ignoring the widgets with
      the digital attributes.
    - Summary: Add AD1986A support
      Added the patch for Analog Device AD1986A codec.
    - Summary: Show currectly selected widget in proc_read for hda driver
      During debugging for cm9880 multi-channel playback, I added the * after
      the currently selected widget, mixer widget doesn't need this but other
      3 widget types need it.
      Signed-off-by: ChenLi Tien <cltien at cmedia.com.tw>
    - Summary: hda: fix vref cap and ctl values
      Fix some vref defines so they are valid for the different bits in
      the pin cap and pin control registers. Please apply.
      Signed-off-by: Matt <matt at embeddedalley.com>
    - Summary: add sigmatel codec support
      Add initial SigmaTel codec support for 9200 and 922x. Note that
      this hda patch relies on the configuration default registers to
      be set correctly (normally by BIOS/firmware) in order for it to
      set up pin widgets properly. There's a test switch in the patch
      so it will work with the SigmaTel reference boards that are usually
      plugged into a system that doesn't set the configuration default
      registers. It supports 2 channel analog out and line/mic in. I
      plan to add >2 channel support and spdif support shortly.
      Please apply.
      Signed-off-by: Matt <matt at embeddedalley.com>
    - Summary: Fix a typo in comments
      Fix a typo in comments.
    - Summary: Show PIN jack type
      Show the jack type of each PIN default configuration entry.
    - Summary: Rename pci_vendor/pci_device to pci_subvendor/pci_subdevice
      Renamed pci_vendor/pci_device fields to pci_subvendor/pci_subdevice.
      They are really PCI subsystem IDs.
  + HPE timer driver
    - Summary: add HPET support
      add a wrapper for the HPET driver
  + ICE1712 driver
    - Summary: Add support for Chaintech 9CJS
      Added the support for Chaintech 9CJS by Delmaire Maxime.
    - Summary: Added support for Terratec PHASE 22
      I've struggled for a couple of days with Terratec Phase 22 card.
      Chips used on it are well known but the combination is somehow unique.
      Phase 88 should have been similar...  but it actually uses 1712
      instead of 1721 (Envy24HT-S). So here is the patch against release
      1.0.8 that adds Phase 22 to ice1724. I've tested only analog part
      (balances 1/4 TRS in and outs).
      Signed-off-by: Misha Zhilin <misha at epiphan.com>
    - Summary: Fix sample rates of Revo 7.1
      Fixed the available sample rates of Revo 7.1 board.
      AK codecs don't support the rate below 32k Hz.
    - Summary: Provides preliminary support for the Terratec Phase 28 card
      Provides preliminary support for the Terratec Phase 28 card.
      Not extensively tested and probably buggy, but it seems to work.
      Signed-off-by: Simone Zinanni <simone at develer.com>
    - Summary: Add Shuttle SN25P support
      Added the support for Shuttle SN25P.
    - Summary: Update documentation for ice1712 and ice1724
      Updated the documentation for ice1712 and ice1724 drivers.
      Added the device description for shuttle SN25P missing in the last patch.
  + ICE1724 driver
    - Summary: Added support for Terratec PHASE 22
      I've struggled for a couple of days with Terratec Phase 22 card.
      Chips used on it are well known but the combination is somehow unique.
      Phase 88 should have been similar...  but it actually uses 1712
      instead of 1721 (Envy24HT-S). So here is the patch against release
      1.0.8 that adds Phase 22 to ice1724. I've tested only analog part
      (balances 1/4 TRS in and outs).
      Signed-off-by: Misha Zhilin <misha at epiphan.com>
    - Summary: Fix sample rates of Revo 7.1
      Fixed the available sample rates of Revo 7.1 board.
      AK codecs don't support the rate below 32k Hz.
    - Summary: ice1724 - Add support of Chaintech AV-710
      Add the support of Chaintech AV-710 to ice1724 driver.
      The patch includes the WM-codec initialization fix by
      Jaanus Kivistik <jaanus at no.spam.ee>.
      Since both AV-710 and AMP Audio2000 have the same SSID, initialize
      WM codecs as default for both devices.  In case it breaks Audio2000,
      you can pass "model=amp2000" option to avoid WM codec initialization.
  + IOCTL32 emulation
    - Summary: Fix struct alignment on PPC64
      Fixed the struct size mismatch (due to alignment) of
      snd_ctl_elem_value_t for PPC64.
    - Summary: Add missing FORWARD ioctl
      Added the missing FORWARD ioctl.
    - Summary: Fix struct size mismatch
      Fixed the struct size mismatch - should work on SPARC64 now, too.
    - Summary: Remove ioctl32/* files
      The patch removes unused ioctl32/* files.
    - Summary: Move snd-ioctl32 codes to alsa-driver
      Moved the old snd-ioctl32 codes (for 2.6 kernel) to alsa-driver tree
      to be compiled locally.
    - Summary: Fix old sequencer ioctl32 wrapper
      Fix by Istvan Varadi <ivaradi at gmail.com>
      - some sequencer-related ioctl's did not work correctly because the
        kernel member of seq_port_info structure was not initialized. I
        attached a patch that initializes this to 0.
  + ISA
    - Summary: Remove pm_register/pm_unregister
      Removed pm_register() and pm_unregister().
      Use platform_device for suspend/resume, instead.
      The current implemention is still a hack.  The whole ISA drivers should
      be rewritten with a proper bus definition.
    - Summary: isa/Kconfig - added SND_AD1848_LIB and SND_CS4231_LIB tristates
      This patch fixes problem with missing SND_GENERIC_PM for isa cards using
      ad1848 and cs4231 library modules.
    - Summary: initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
      - Two new Control Names introduced: "Radio" for the onboard radio and
      "Tone Control - xxx (k)Hz" for an equalizer control.
      - I've tried to write support for all three miroSOUND cards PCM1 pro,
      PCM12 and PCM20 Radio, but only PCM12 (rev. E) is tested. Especially
      OPTi929 cards are completely untested.
      - These cards have two mixers: ACI and OPTi9xx. Both are merged into
      one ALSA mixer device. That's different to OSS.
      - OPL4 support is still missing, because I'm still waiting for response
      of my broken OPL4 chip. :(
      - I never saw any docs about the cards. All knowledge is taken from ACI
      driver (OSS) and OPTi9xx (ALSA) drivers. I've done my best in copying
      bugs from there to this new driver :)
      Signed-off-by: Martin Langer <martin-langer at gmx.de>
    - Summary: Sync with 2.6
    - Summary: select ISAPNP for SND_INTERWAVE_STB target
  + Intel8x0 driver
    - Summary: AC'97 Audio support for Intel ICH7
      This patch adds the ICH7 AC'97 DID the the intel8x0.c AC'97 audio
      driver. This patch was build against 2.6.11-rc1.
      Signed-off-by: Jason Gaston <Jason.d.gaston at intel.com>
    - Summary: Add quirk for HP nc8000
      Added ac97 quirk for HP nc8000.
      The list is sorted again.
    - Summary: intel8x0 - fixed timeout in the "get current DMA pointer" routine
      Patch-level: High
      Signed-off-by: Wei Ni <Wei.Ni at uli.com.tw>
    - Summary: intel8x0 - fix for broken PCI ID define for ICH6
      Patch-level: High
      Signed-off-by: Jean Delvare <khali at linux-fr.org>
    - Summary: Add quirk for Fujitsu S6210
      Added ac97_quirk for Fujitsu S6210.
    - Summary: Add ac97_quirk for Dell machine
      Added ac97_quirk option for Dell machine.
    - Summary: AC97 quirk for Dell Precision 650
      Added the ac97 quirk entry for Dell Precision 650.
    - Summary: Disable DRA for ALI5455
      Disable DRA for ALI5455.  Apparently the device doesn't support it.
    - Summary: intel8x0: AC'97 audio patch for Intel ESB2
      This patch adds the Intel ESB2 DID's to the intel8x0.c file for AC'97 audio support.
      (the patch includes the fix of a typo)
      Signed-off-by: Jason Gaston <Jason.d.gaston at intel.com>
    - Summary: [2.6-SYNC] Add missing ESB2 support
      Patch-level: Merged
      Sync with Linus kernel.  Added the missing ESB2 support.
  + Intel8x0-modem driver
    - Summary: Set default index of modem and bt87x drivers to -2
      Set the default index value of modem and bt87x drivers to -2 so that
      the first slot is excluded when no index option is given.
      This gives other uadio drivers a chance to put them as the primary
      driver.
    - Summary: Add mixer controls to intel8x0m
      This patch adds a mixer switch to the intel8x0m driver, so that the
      hook state can be controlled from userspace, instead of bringing the
      line off hook on capture start. Please someone test, and merge into
      cvs. Comments are welcome.
      Signed-off-by: Jaime A. Lopez Sollano <jsollano at gmail.com>
    - Summary: Add PCI ids for ICH6/7
      Added the PCI IDs for ICH6 and ICH7.
    - Summary: Fix "semaphore is not ready" problem with snd-intel8x0m
      With some intel based ac97 modems codec access semaphore is not cleared
      after 0x54 AC97 register (GPIO_STATUS) reads. This may causes problems
      with newly applied modem mixer (Off-hook switch) and in other cases.
      Signed-off-by: Sasha Khapyorsky <sashak at smlink.com>
  + KORG1212 driver
    - Summary: Korg1212 updates
      This patches covers the following issues:
          - solves double "spin_lock_irqsave" problems;
          - eliminate the use of deprecated function "sleep_on_timeout";
          - clarify some "printk" messages; and
          - logs korg DMA Errors due to PCI congestion.
      Signed-off-by: Haroldo Gamal <gamal at alternex.com.br>
    - Summary: Fix invalid use of readl/writel
      Fixed the invalid use of readl/writel to normal pointers.
  + MIXART driver
    - Summary: [SPARSE] Fix the wrong cast
      Removed the wrong (unnecessary) cast from an iomem pointer.
    - Summary: fix bug with pci hotplug mode
      There is a bug with mixart driver, when using hotplug:
      accessing NULL pointer -> segmentation fault
      Signed-off-by: Markus Bollinger <bollinger at digigram.com>
    - Summary: fix bug with pci hotplug mode
      Fix the Oops with hotplug fw loader.
      (Theis fix is missing in the last commit to mixart.c accidentally.)
      Signed-off-by: Markus Bollinger <bollinger at digigram.com>
  + MPU401 UART
    - Summary: MPU-401 PnP support
      Replace the ACPI PnP code with generic PnP calls.
    - Summary: MPU-401 driver cleanup
      Correctly check for error codes returned by pnp_register_driver,
      use a common function for registering the sound card, and remove
      many #ifdef's.
      Signed-off-by: Matthieu Castet <castet.matthieu at free.fr>
    - Summary: fix locking for rawmidi trigger callbacks
      Use spin_lock_irqsave() instead of spin_lock() in places where we
      could be interrupted by another hardware interrupt that could call
      the rawmidi trigger callback that could try to take the same lock.
      Additionally, remove locking code that is no longer needed now that
      the trigger callback is no longer called recursively from the rawmidi
      "event" handler.
    - Summary: replace wrong spin_trylock_irqsave with spin_lock_irqsave
      The last patch accidentally left a "try" in where none was intended.
    - Summary: remove superfluous spin_lock_irqsave calls
      In PCM trigger and pointer callbacks, replace spin_lock_irqsave() with
      spin_lock() because interrupts are already guaranteed to be disabled.
    - Summary: remove unneeded interrupt locks in rawmidi drivers
      Now that the output trigger callback is called from a softirq instead
      of an hardirq, we don't need anymore to disable interrupts in our
      interrupt handlers.
  + MSND driver
    - Summary: Change header for enable_/disable_irq()
      Since 2.6.10, enable_/disable_irq() lives in linux/interrupt.h.
    - Summary: remove calls to check_region
      Replace calls to the obsolete check_region() function with
      equivalent calls to request_region().
    - Summary: fix locking for rawmidi trigger callbacks
      Use spin_lock_irqsave() instead of spin_lock() in places where we
      could be interrupted by another hardware interrupt that could call
      the rawmidi trigger callback that could try to take the same lock.
      Additionally, remove locking code that is no longer needed now that
      the trigger callback is no longer called recursively from the rawmidi
      "event" handler.
  + Maestro3 driver
    - Summary: Add quirk for LEGEND ZhaoYang 3100CF
      Added a quirk entry for LEGEND ZhaoYang 3100CF.
    - Summary: maestro3: Fix interrupt ack and disable
      Due to a typo interrupts were never actually acked or disabled.
      Signed-off-by: Ville Syrjala <syrjala at sci.fi>
    - Summary: maestro3: Add HW volume button support
      Add support for hardware volume buttons.
      Signed-off-by: Ville Syrjala <syrjala at sci.fi>
    - Summary: maestro3: HP OmniBook HW volume button magic
      Some HP OmniBook laptops (500 and 6000 at least) require some GPIO magic
      before the HW volume buttons work. This patch makes them work mostly.
      Something is still missing to make them work perfectly. However I have been
      unable to figure out what exactly.
      Signed-off-by: Ville Syrjala <syrjala at sci.fi>
    - Summary: maestro3: Add hardware volume control quirk list
      Add a hardware volume quirk list to the maestro3 driver. Details were
      taken from the Windows driver. Hardware volume control is enabled only for
      the systems in the list.
      Signed-off-by: Ville Syrjala <syrjala at sci.fi>
  + Memalloc module
    - Summary: add check for kernel vsnprintf
      Add a separate check for vsnprintf instead of defining it together
      with snprintf for compatibility with 2.2.27-rc2.
    - Summary: remove superfluous MODVERSIONS definitions
      With MODVERSIONS defined on the command line, it is no longer
      necessary to define it in the source files.
  + OPL3SA2 driver
    - Summary: Sync with 2.6 code
      - little endian stuff for USB
      - PCMCIA updates
      - opl3sa2 - removed '/' from IRQ description
    - Summary: enable disabling of isapnp
      Fixed a logic error that prevented the "isapnp=0" module
      parameter from taking effect.
  + OSS device core
    - Summary: Sync with 2.6 code
      - little endian stuff for USB
      - PCMCIA updates
      - opl3sa2 - removed '/' from IRQ description
  + Opti9xx drivers
    - Summary: initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
      - Two new Control Names introduced: "Radio" for the onboard radio and
      "Tone Control - xxx (k)Hz" for an equalizer control.
      - I've tried to write support for all three miroSOUND cards PCM1 pro,
      PCM12 and PCM20 Radio, but only PCM12 (rev. E) is tested. Especially
      OPTi929 cards are completely untested.
      - These cards have two mixers: ACI and OPTi9xx. Both are merged into
      one ALSA mixer device. That's different to OSS.
      - OPL4 support is still missing, because I'm still waiting for response
      of my broken OPL4 chip. :(
      - I never saw any docs about the cards. All knowledge is taken from ACI
      driver (OSS) and OPTi9xx (ALSA) drivers. I've done my best in copying
      bugs from there to this new driver :)
      Signed-off-by: Martin Langer <martin-langer at gmx.de>
    - Summary: more proc lines for miro
      The patch adds more helpful proc lines to the miro driver
      Signed-off-by: Martin Langer <martin-langer at gmx.de>
  + PARISC
    - Summary: Sync with 2.6 - ALSA Harmony sound driver for PA-RISC
      ALSA Harmony rewrite
      Signed-Off-By: Kyle McMartin <kyle at parisc-linux.org>
      Signed-off-by: Stuart Brady <sdbrady at ntlworld.com>
      Signed-off-by: Matthew Wilcox <willy at parisc-linux.org>
      Signed-off-by: Linus Torvalds <torvalds at osdl.org>
  + PARISC Harmony driver
    - Summary: Sync with 2.6 - ALSA Harmony sound driver for PA-RISC
      ALSA Harmony rewrite
      Signed-Off-By: Kyle McMartin <kyle at parisc-linux.org>
      Signed-off-by: Stuart Brady <sdbrady at ntlworld.com>
      Signed-off-by: Matthew Wilcox <willy at parisc-linux.org>
      Signed-off-by: Linus Torvalds <torvalds at osdl.org>
    - Summary: 2.6 sync - ALSA Harmony fixes
      - The entire silence buffer is now being filled, instead of just 1/8th of it.
      - The silence buffer is now prepared during initialisation of thedriver.
      - snd_pcm_format_size() is missing from the ALSA headers:
      using snd_pcm_format_physical_width() instead.
      Signed-off-by: Stuart Brady <sdbrady at ntlworld.com>
      Signed-off-by: Matthew Wilcox <willy at parisc-linux.org>
      Signed-off-by: Linus Torvalds <torvalds at osdl.org>
  + PCI drivers
    - Summary: Add Intel HDA driver
      Added a new Intel High-Definition audio driver.
      The driver consists of two separate modules: the generic support
      module for HD codecs (snd-hda-codec), and the driver for Intel ICH6/7
      chipset (snd-hda-intel).  The snd-hda-intel was called formerly
      snd-azx in the ALSA 1.0.8 rlease.
    - Summary: Sync with 2.6 code
      - little endian stuff for USB
      - PCMCIA updates
      - opl3sa2 - removed '/' from IRQ description
  + PDAudioCF driver
    - Summary: Sync with 2.6 code
      - little endian stuff for USB
      - PCMCIA updates
      - opl3sa2 - removed '/' from IRQ description
  + PPC
    - Summary: ppc32: add sound support for Mac Mini
      This patch applies on top of my previous g5 related sound patches and
      adds support for the Mac Mini to the PowerMac Alsa driver.
      However, I haven't found any kind of HW support for volume control on
      this machine. If it exist, it's well hidden. That means that you
      probably want to make sure you use software with the ability to do soft
      volume control, or use Alsa 0.9 pre-release with the softvol plugin.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    - Summary: [Sync] powermac driver updates
      Patch-level: Merged
      Sync with mainstream.
  + PPC Beep
    - Summary: ppc64: very basic desktop g5 sound support (#2)
      This patch hacks the current PowerMac Alsa driver to add some basic
      support of analog sound output to some desktop G5s. It has severe
      limitations though:
       - Only 44100Khz 16 bits
       - Only work on G5 models using a TAS3004 analog code, that is early
         single CPU desktops and all dual CPU desktops at this date, but none
         of the more recent ones like iMac G5.
       - It does analog only, no digital/SPDIF support at all, no native
         AC3 support
      Better support would require a complete rewrite of the driver (which I
      am working on,  but don't hold your breath), to properly support the
      diversity of apple sound HW setup, including dual codecs, several i2s
      busses,  all the new codecs used in the new machines, proper clock
      switching with digital, etc etc etc...
      This patch applies on top of the other PowerMac sound patches I posted
      in the past couple of days (new powerbook support and sleep fixes).
      Note: This is a FAQ entry for PowerMac sound support with TI codecs:
      They have a feature called "DRC" which is automatically enabled for the
      internal speaker (at least when auto mute control is enabled) which will
      cause your sound to fade out to nothing after half a second of playback
      if you don't set a proper "DRC Range" in the mixer. So if you have a
      problem like that, check alsamixer and raise your DRC Range to something
      reasonable.
      Note2: This patch will also add auto-mute of the speaker when line-out
      jack is used on some earlier desktop G4s (and on the G5) in addition to
      the headphone jack. If that behaviour isn't what you want, just disable
      auto-muting and use the manual mute controls in alsamixer.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
  + PPC PMAC driver
    - Summary: Fix compile error (due to last suspend/resume fix)
      Fixed the forgotten caller of suspend/resume callbacks to follow
      the recent PM fixes.
    - Summary: pmac: sound support for latest laptops
      Fix by Benjamin Herrenschmidt <benh at kernel.crashing.org>:
      This patch hacks the current Alsa snd-powermac driver to add support for
      recent machine models with the tas3004 chip, that is basically new
      laptop models. The Mac Mini is _NOT_ yet supported by this patch (soon
      soon ...). The G5s (iMac or Desktop) will need the rewritten sound
      driver on which I'm working on (I _might_ get a hack for analog only on
      some G5s on the current driver, but no promise).
    - Summary: ppc64: very basic desktop g5 sound support (#2)
      This patch hacks the current PowerMac Alsa driver to add some basic
      support of analog sound output to some desktop G5s. It has severe
      limitations though:
       - Only 44100Khz 16 bits
       - Only work on G5 models using a TAS3004 analog code, that is early
         single CPU desktops and all dual CPU desktops at this date, but none
         of the more recent ones like iMac G5.
       - It does analog only, no digital/SPDIF support at all, no native
         AC3 support
      Better support would require a complete rewrite of the driver (which I
      am working on,  but don't hold your breath), to properly support the
      diversity of apple sound HW setup, including dual codecs, several i2s
      busses,  all the new codecs used in the new machines, proper clock
      switching with digital, etc etc etc...
      This patch applies on top of the other PowerMac sound patches I posted
      in the past couple of days (new powerbook support and sleep fixes).
      Note: This is a FAQ entry for PowerMac sound support with TI codecs:
      They have a feature called "DRC" which is automatically enabled for the
      internal speaker (at least when auto mute control is enabled) which will
      cause your sound to fade out to nothing after half a second of playback
      if you don't set a proper "DRC Range" in the mixer. So if you have a
      problem like that, check alsamixer and raise your DRC Range to something
      reasonable.
      Note2: This patch will also add auto-mute of the speaker when line-out
      jack is used on some earlier desktop G4s (and on the G5) in addition to
      the headphone jack. If that behaviour isn't what you want, just disable
      auto-muting and use the manual mute controls in alsamixer.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    - Summary: ppc32: add sound support for Mac Mini
      This patch applies on top of my previous g5 related sound patches and
      adds support for the Mac Mini to the PowerMac Alsa driver.
      However, I haven't found any kind of HW support for volume control on
      this machine. If it exist, it's well hidden. That means that you
      probably want to make sure you use software with the ability to do soft
      volume control, or use Alsa 0.9 pre-release with the softvol plugin.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    - Summary: [Sync] powermac driver updates
      Patch-level: Merged
      Sync with mainstream.
    - Summary: ppc32: Fix Alsa PowerMac driver on old machines
      The g5 support code broke some earlier models unfortunately as those
      bail out early from the detect function, before the point where I added
      the code to locate the PCI device for use with DMA allocations.
      This patch fixes it.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
  + PPC PowerMac driver
    - Summary: ppc32: add sound support for Mac Mini
      This patch applies on top of my previous g5 related sound patches and
      adds support for the Mac Mini to the PowerMac Alsa driver.
      However, I haven't found any kind of HW support for volume control on
      this machine. If it exist, it's well hidden. That means that you
      probably want to make sure you use software with the ability to do soft
      volume control, or use Alsa 0.9 pre-release with the softvol plugin.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
  + PPC Toonie
    - Summary: ppc32: add sound support for Mac Mini
      This patch applies on top of my previous g5 related sound patches and
      adds support for the Mac Mini to the PowerMac Alsa driver.
      However, I haven't found any kind of HW support for volume control on
      this machine. If it exist, it's well hidden. That means that you
      probably want to make sure you use software with the ability to do soft
      volume control, or use Alsa 0.9 pre-release with the softvol plugin.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    - Summary: Small build fix for alsa powermac
      My newer iMac mini driver doesn't build with verbose debug enabled. This
      fixes it, and removes an erroneous error printk (since it's normal on
      some machine to not find some gpios on the "first try").
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    - Summary: [Sync] powermac driver updates
      Patch-level: Merged
      Sync with mainstream.
  + PPC Tumbler driver
    - Summary: pmac: sound support for latest laptops
      Fix by Benjamin Herrenschmidt <benh at kernel.crashing.org>:
      This patch hacks the current Alsa snd-powermac driver to add support for
      recent machine models with the tas3004 chip, that is basically new
      laptop models. The Mac Mini is _NOT_ yet supported by this patch (soon
      soon ...). The G5s (iMac or Desktop) will need the rewritten sound
      driver on which I'm working on (I _might_ get a hack for analog only on
      some G5s on the current driver, but no promise).
    - Summary: pmac: Improve sleep code of tumbler driver
      This patch (applies on top of my previous one adding support for newer
      machines) improves the behaviour of the "tumbler/snapper" driver used on
      newer PowerMacs during sleep. It properly set the HW mutes to shut down
      amplifiers and does an analog shutdown of the codec. That might improve
      power consumption during sleep on a number of machines.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    - Summary: ppc64: very basic desktop g5 sound support (#2)
      This patch hacks the current PowerMac Alsa driver to add some basic
      support of analog sound output to some desktop G5s. It has severe
      limitations though:
       - Only 44100Khz 16 bits
       - Only work on G5 models using a TAS3004 analog code, that is early
         single CPU desktops and all dual CPU desktops at this date, but none
         of the more recent ones like iMac G5.
       - It does analog only, no digital/SPDIF support at all, no native
         AC3 support
      Better support would require a complete rewrite of the driver (which I
      am working on,  but don't hold your breath), to properly support the
      diversity of apple sound HW setup, including dual codecs, several i2s
      busses,  all the new codecs used in the new machines, proper clock
      switching with digital, etc etc etc...
      This patch applies on top of the other PowerMac sound patches I posted
      in the past couple of days (new powerbook support and sleep fixes).
      Note: This is a FAQ entry for PowerMac sound support with TI codecs:
      They have a feature called "DRC" which is automatically enabled for the
      internal speaker (at least when auto mute control is enabled) which will
      cause your sound to fade out to nothing after half a second of playback
      if you don't set a proper "DRC Range" in the mixer. So if you have a
      problem like that, check alsamixer and raise your DRC Range to something
      reasonable.
      Note2: This patch will also add auto-mute of the speaker when line-out
      jack is used on some earlier desktop G4s (and on the G5) in addition to
      the headphone jack. If that behaviour isn't what you want, just disable
      auto-muting and use the manual mute controls in alsamixer.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    - Summary: ppc64: improve g5 sound headphone mute
      This patch fixes a couple more issues with the management of the GPIOs
      dealing with headphone and line out mute on the G5. It should fix the
      remaining problems of people not getting any sound out of the headphone
      jack.
      Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    - Summary: [Sync] powermac driver updates
      Patch-level: Merged
      Sync with mainstream.
  + RME HDSP driver
    - Summary: Fix compilation on big-endian arch
      Fixed typo in the code for big-endian architectures.
    - Summary: Ascii chars only
    - Summary: HDSP fixes
      * init sequence cleanup and firmware upload related bugfixes
      * more robust revision detection scheme
        (should transparently handle new revisions)
      * allow hdsploader and the kernel fw loader to coexist
        this is useful for cardbus user who compiled the driver in-kernel
        (userspace may not be ready to upload the firmware when the card
         is probed)
      * removed confusing and obsolete passthru option (was interfering
        with the mixer when opening the device for capture or playback)
        this change requires a recompile of the userspace tools against
        the patched hdsp.h
      * removed confusing and obsolete line_outs_monitor module param
      * made precise_ptr the default behaviour, and runtime tweakable
        (removed corresponding module param)
      * add an alsa ctl to disable the use of the midi tasklet, and
        process midi data in the interrupt handler
        (using the tasklet is still the default)
        this is mainly intended for users of Ingo Molnar's RT patch
      * metering fix for Multiface/Digiface users (closes ALSA BUG #0000801)
      * small endianness fix
      * ALSA-Configuration.txt HDSP entry update
      * error messages cleanup
      Signed-off-by: Thomas Charbonnel <thomas at undata.org>
    - Summary: hdsp ghost midi device fix
      * Prevents the creation of a second midi device for cards with only
        one midi I/O
      Signed-off-by: Thomas Charbonnel <thomas at undata.org>
    - Summary: fix typo in midi code
      fix typo in midi code
      Signed-off-by: Thomas Charbonnel <thomas at undata.org>
    - Summary: hdsp - solved big endian problem
      ppc firmware upload fix
      Signed-off-by: Thomas Charbonnel <thomas at undata.org>
  + RME32 driver
    - Summary: rme32 - remove superfluous spin_lock_irqsave call
      In the PCM trigger callback, replace spin_lock_irqsave() with
      spin_lock() because interrupts are already guaranteed to be disabled.
  + RTC timer driver
    - Summary: add module aliases for rtctimer and seq-dummy
      Add snd-timer-1 and snd-seq-client-63 module aliases for the
      snd-rtctimer and snd-seq-dummy modules.
  + SA11xx UDA1341 driver
    - Summary: Remove pm_register/pm_unregister
      Removed pm_register() and pm_unregister().
      Use platform_device for suspend/resume, instead.
      The current implemention is still a hack.  The whole ISA drivers should
      be rewritten with a proper bus definition.
    - Summary: driver model type fixes for ALSA
      Fixes by Pavel Machek <pavel at suse.cz>:
      suspend() routines no longer get u32 as their parameter (they get
      pm_message_t, which is u32 for now, but will change in 2.6.12 or
      so). This fixes ALSA to notice this, and uses constants with right
      types where appropriate. It results in no code changes. [Best results
      will be when patching against latest -mm, you may get some warnings if
      you patch it into older kernel, but it should still do the right
      thing.] Please apply,
      							Pavel
      [In addition, suspend callback type is changed to follow to the standard
       style taking no state argument -- Takashi]
  + SB8 driver
    - Summary: fix locking for rawmidi trigger callbacks
      Use spin_lock_irqsave() instead of spin_lock() in places where we
      could be interrupted by another hardware interrupt that could call
      the rawmidi trigger callback that could try to take the same lock.
      Additionally, remove locking code that is no longer needed now that
      the trigger callback is no longer called recursively from the rawmidi
      "event" handler.
  + Serial BUS drivers
    - Summary: Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358
      Initial incomplete driver for ESI Juli@ cardcards based on ICE1724, AK4114,
      AK4358 and AK5385. The ICE1724 and ICE1712 main files plus some drivers are
      also updated (cleanups and new callbacks).
    - Summary: Added ESI Juli@ driver
    - Summary: fixup - vd.release does not exists for older kernels
    - Summary: fixup - vd.release does not exists for older kernels
    - Summary: fixup - vd.release does not exists for older kernels
  + TEA575x tuner
    - Summary: TEA575x - add video release callback to avoid warning
  + Trident driver
    - Summary: [SPARSE] Use unsigned int :1 bitfields
      Use unsigned int :1 bitfields.
    - Summary: big sync with 2.6 (joystick changes & mips tree)
      This is big sync with the official 2.6 tree.
      - joystick changes by Vojtech Pavlik
      - mips tree added
      - various cleanups (verify_area -> access_ok)
  + USB
    - Summary: Fix snd-usb-audio dependency on snd-hwdep.
  + USB USX2Y
    - Summary: Remove unused variable
      Removed an unused variable to fix a compile warning.
    - Summary: prevent oops & dead keyboard on usb unplugging while the device is being used
      Without this patch, some usb kobjects, which are parents to
      the usx2y's kobjects can be freed before the usx2y's.
      This led to an oops in get_kobj_path_length() and a dead
      keyboard, when the usx2y's kobjects were freed.
      The patch ensures the correct sequence.
      Tested ok on kernel 2.6.12-rc2.
      Signed-off-by: Karsten Wiese <annabellesgarden at yahoo.de>
    - Summary: usb-audio - remove superfluous parameter
      This patch removes the superfluous driver parameter from the
      disconnect functions.
  + USB generic driver
    - Summary: don't use broken legacy interfaces on M-Audio Quattro/Omnistudio
      Interfaces 0-2 of M-Audio Quattro/Omnistudio devices duplicate functionality
      of interfaces 3-5 and cause errors when used with those.  Add a quirk to
      tell the driver not to use them.
    - Summary: add more Yamaha USB MIDI quirks
      add support for Yamaha UC-MX, UC-KX, CLP-175, SPX2000
    - Summary: use cached idVendor/idProduct values
      use the vendor/product IDs in the state structure instead of
      reading them again from the device
    - Summary: simplify snd_usbmidi_count_bits()
      This makes the bit counting code smaller and simpler.
      Signed-off-by: Charles C. Bennett <ccb at acm.org>
    - Summary: Novation and MOTU USB MIDI support
      Rewrote USB MIDI protocol handling code to use callbacks
      for each protocol;
      added support for Novation and MOTU protocols;
      changed detection code to allow interrupt endpoints.
    - Summary: add code to dump packets
      add a compile-time option to log the contents of USB packets
    - Summary: add support for Emagic USB MIDI interfaces
      Add support for the Emagic USB MIDI protocol (raw MIDI with "F5 xx"
      port switching) and for Unitor8/AMT8/MT4 devices.
    - Summary: add logging to send_bulk_static_data
      Add the optional dump_urb call to send_bulk_static_data, too.
    - Summary: ignore Emagic padding bytes
      Ignore the 0xff padding bytes added by Emagic devices at the end
      of input packets.
    - Summary: fix Emagic broadcast port names
      Name the broadcast port "Broadcast" instead of "Broadcast/Control"
      because control messages are returned through the first MIDI port.
    - Summary: add Roland FANTOM-X support
      This adds a USB MIDI quirk for the Roland FANTOM-X.
    - Summary: add more USB MIDI quirks
      Add support for Roland RS-70, SP-606, BOSS DR-880
    - Summary: remove unsafe usage of urb->status
      Remove unprotected accesses to urb->status and
      substream->runtimer->trigger.
    - Summary: usb - change timeout of USB control/bulk msg functions to msecs
      This changes the timeout in the remaining (indirect) calls to
      usb_control/bulk_msg from jiffies to msecs.
    - Summary: usb-audio - allow USB MIDI quirks to specify endpoints explicitly
      This patch reintroduces the check for endpoint numbers that are
      specified explicitly in the quirk structure.
      This check was accidentally dropped in the last rewrite of
      snd_usbmidi_detect_endpoints().
    - Summary: Add mixer map for Sound Blaster MP3+
      Added the mixer mapping for Sound Blaster MP3+
      by Pavel Mihaylov <bin at bash.info>
    - Summary: usb-audio - BOSS GS-10 PCM support
      This patch adds quirks to support 24-bit PCM I/O in the "Advanced
      Driver" mode of the BOSS GS-10.
    - Summary: prevent oops & dead keyboard on usb unplugging while the device is being used
      Without this patch, some usb kobjects, which are parents to
      the usx2y's kobjects can be freed before the usx2y's.
      This led to an oops in get_kobj_path_length() and a dead
      keyboard, when the usx2y's kobjects were freed.
      The patch ensures the correct sequence.
      Tested ok on kernel 2.6.12-rc2.
      Signed-off-by: Karsten Wiese <annabellesgarden at yahoo.de>
    - Summary: usb-audio: add Audigy 2 NX control names
      Add a mixer control map for the SB Audigy 2 NX so
      that we get meaningful mixer control names.
    - Summary: usb-audio - show exact synchronous frequency in proc file
      In the streamX proc file, show the exact number of samples per
      USB frame as 16.16 hexadecimal floating point value.
    - Summary: usb-audio - add selector unit names override for Audigy 2 NX
      Add a mechanism to specify source names of selector units,
      and add such names for the SB Audigy 2 NX.
    - Summary: usb-audio - remove superfluous parameter
      This patch removes the superfluous driver parameter from the
      disconnect functions.
    - Summary: usb-audio - restrict Audigy 2 NX frequencies to 48/96 kHz
      On the SB Audigy 2 NX, frequency feedback doesn't quite work
      when playing at 44.1 kHz, so temporarily disable this frequency.
    - Summary: usb-audio - reduce size of unitbitmap array
      Unit/terminal IDs are 8-bit integers, so the unitbitmap
      variable does not need to be bigger than 256 bits.
    - Summary: usb-audio - move mixer data into separate struct
      Move all data related to audio control interfaces into a separate struct
      local to usbmixer.c.
    - Summary: usb-audio - add mixer control notifications
      Add support for the optional status interrupt endpoint in audio control
      interfaces, and translate USB status notifications into ALSA mixer
      control notifications.
    - Summary: usb-audio - add Extigy/Audigy 2 NX remote control support
      Add an hwdep interface that supports reading remote control data from
      Sound Blaster Extigy and Audigy 2 NX devices.
    - Summary: usb-audio - cache vendor/product IDs
      Cache the decoded values of idVendor/idProduct to get rid of most of
      those ugly le16_to_cpu() calls.
    - Summary: usb-audio - allow type 0 extension units
      Extension units can have type 0, so do not ignore them when constructing
      mixer controls.
    - Summary: usb-audio - use proper interval between synchronization packets
      Add sanity checks when reading the bRefresh value, and actually use it
      for the synchronization packets instead of polling at 1000 Hz.
    - Summary: usb-audio - use only one packet in synchronization feedback URBs
      Do not use more than one packet in synchronization feedback URBs because
      it would be pointless to send or receive more than one value at the same
      time.
    - Summary: usb-audio - make SB remote control device LIRC compatible
      Add ioctls to the Sound Blaster remote control hwdep device so that it
      can be used with LIRC.
    - Summary: usb-audio - Audigy 2 NX blinkenlights
      Adds mixer controls for the CMSS/Dolby Digital/Power LEDs
      on the SB Audigy 2 NX.
    - Summary: usb-audio - set sample rate attribute on Audigy 2 NX endpoints
      The SB Audigy 2 NX does not advertise the sample rate attribute in its
      endpoint descriptors although it supports it.
    - Summary: usb-audio - enable high speed (not) on Audigy 2 NX
      The SB Audigy 2 NX needs a special boot-up command before it works in
      high speed mode.
      However, we don't actually enable it yet because high speed
      synchronization doesn't seem to work with this device.
    - Summary: usb-audio - remove superfluous LIRC ioctls
      The ioctls for LIRC compatibility can be removed because the
      infrastructure and detection stuff is better done in user space.
    - Summary: usb-audio - add a proc file for Audigy 2 NX jack status
      This patch adds a proc file for the SB Audigy 2 NX which shows the
      connection status of the various jacks.  Unfortunately, no SPDIF input
      frequency (yet).
    - Summary: usb-audio - bind to control interface instead of usb_device
      Bind the device files to the (first) audio control interface instead of
      the entire USB device.
    - Summary: usb-audio - sanity-check sync feedback frequency values
      Check that the synchronization feedback frequency values returned by the
      device are more or less near the nominal frequency.
    - Summary: usb-audio - avoid unnecessary double buffering
      When a USB packet boundary falls exactly on a buffer boundary, hwptr
      remains at the end of the buffer which causes an overflow in the next
      iteration and triggers double buffering although the next packet would
      actually be contiguous.
      This patch ensures that hwptr is always smaller than buffer_size.
    - Summary: usb-audio - claim all interfaces for Roland USB MIDI devices
      Many Roland USB MIDI devices have two interfaces that are currently not
      used by the driver; claim them anyway.
    - Summary: usb-audio - fix synchronization packet interval with Audigy 2 NX
      When a device does not provide the bRefresh field in its audio endpoint
      descriptors, use the bInterval field instead.
      Furthermore, increase the number of sync URBs for better queueing.
    - Summary: 2.6 sync - timeout value
      Patch-level: Merged
  + VIA82xx driver
    - Summary: Use DXS volumes as PCM
      Use DXS volumes as PCM control in cases with no volume control on codec
      (e.g. C-Media).  "DXS Playback Volume" controls are removed.
    - Summary: Add DXS support for MSI K8T Neo2-FI
      Added the DXS entry for MSI K8T Neo2-FI.
    - Summary: Remove unnecessary ac97 init code
      Removed unnecessary ac97 init code in snd_via82xx_chip_init().
      This reduces eventually the big stack usage, too.
    - Summary: Support all sample rate conversion capabilities of DXS channels
      Add support for full sample rate conversion capabilities of DXS
      channels present in VIA VT8233/5/7 controllers:
      - any sample rate in the 8000 ... 48000 Hz range is supported even if
        the AC'97 codec supports only 48000 Hz output;
      - different DXS channels can use different sample rates at the same
        time (the controller performs required sample rate conversion and
        mixing in hardware).
      Signed-off-by: Sergey Vlasov <vsu at altlinux.ru>
    - Summary: Fix SPDIF rate with dxs_support=4
      Fix SPDIF rate setting with dxs_support=4.  It should be 48k fixed.
    - Summary: Add dxs_support=5 for Insight P4-ITX
      Added dxs_support=5 entry for Insight P4-ITX.
    - Summary: Add dxs_support entry for MSI K8T Neo-FIS2R
      Report by Ronny V. Vindenes <s864 at ii.uib.no>
      Add dxs_support=5 for MSI K8T Neo-FIS2R.
    - Summary: fix via82xx resume
      Patch-level: Merged
      Trying software suspend on my workstation makes it crash on resume. The
      problem is that via82xx marks the chip_init function as _devinit, but
      calls it on resume as well.
      Signed-off-by: Jens Axboe <axboe at suse.de>
    - Summary: Add dxs_support for a Twinhead mobo
      Added dxs_support=4 for a Twinhead mobo.
  + VIA82xx-modem driver
    - Summary: Remove unnecessary ac97 init code
      Removed unnecessary ac97 init code in snd_via82xx_chip_init().
      This reduces eventually the big stack usage, too.
    - Summary: Fix resume of via82xx-modem
      Fix the resume of via82xx-modem, removing invalid __devinit.
  + Virtual Midi
    - Summary: use unsigned 1-bit fields
      Can't have a boolean and a sign bit in 1 bit.
      Fix (14) boolean/bitfield sparse warning:
      include/sound/seq_virmidi.h:41:16: warning: dubious one-bit signed bitfield
      Signed-off-by: Randy Dunlap <rddunlap at osdl.org>
    - Summary: sound/core/: possible cleanups
      This patch contains the following possible cleanups:
      - make needlessly global code static
      - #if 0 the following unused global functions
      - remove the following unneeded EXPORT_SYMBOL's
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
  + Wavefront drivers
    - Summary: insert set_current_state() before schedule_timeout()
      Insert set_current_state() before schedule_timeout(). Without the
      insertion, schedule_timeout() returns immediately, resulting in an
      effective busy-wait.
      Signed-off-by: Nishanth Aravamudan <nacc at us.ibm.com>
    - Summary: Remove unused yss225.h
      yss225.h is just obsolete, not used/read by any codes.
      Let's remove it.
    - Summary: [SPARSE] Add __user pointer casts
      Added __user pointer casts to sys_*() arguments
    - Summary: fix locking for rawmidi trigger callbacks
      Use spin_lock_irqsave() instead of spin_lock() in places where we
      could be interrupted by another hardware interrupt that could call
      the rawmidi trigger callback that could try to take the same lock.
      Additionally, remove locking code that is no longer needed now that
      the trigger callback is no longer called recursively from the rawmidi
      "event" handler.
  + YMFPCI driver
    - Summary: Fix Oops with joystick support
      Fix Oops when joystick is enabled.
    - Summary: remove dead code
      This patch removes some dead code found by the Coverity checker.
      Signed-off-by: Adrian Bunk <bunk at stusta.de>
  + au88x0 driver
    - Summary: do codec init more like windows does
      The following patch makes the codec init code act more like the windows
      code.
      Signed-off-by: Jeff Muizelaar <jeff at infidigm.net>
    - Summary: replace spdif frequency control with iec958 control
      The appended patch replaces the manual spdif frequency control in the
      mixer with code that use the standard iec958 interface. The patch is
      nearly the same as the one Raymond submitted, except it gets rid of the
      identical *_default_* versions of the functions, and has a tiny bit of
      cleanup.
      I have only tested it a little bit because I don't currently
      have the hardware to actually test it properly. However, it looks
      harmless to me.
      Patch-by: Raymond
      Signed-off-by: Jeff Muizelaar <muizelaar at rogers.com>
    - Summary: remove duplicate field initialization
      Remove duplicate (and inconsistent) initialization of the iface field.
    - Summary: Add AC97_SCAP_NO_SPDIF flag
      Added a new flag, AC97_SCAP_NO_SPDIF, to prevent to build the SPDIF-related
      controls on ac97 codec.  This flag is used when the sound chip has its
      native SPDIF support and it conflicts with the one of AC97 codec.
* alsa-lib
  + Core
    - Summary: fix some file paths in comments
      doxygen complains if the file name specified with \file does
      not match the real file name, so fix it
    - Summary: Add resmgr support
      Added the support for resmgr.  A new configure option --with-resmgr is added
      to enable the resmgr support.
    - Summary: Fix resmgr support
      Call normal open() before trying with res_open_device().
      snd_open_device() is defined to do this procedure.
    - Summary: Add --disable-aload configure option
      Added --disable-aload configure option to suppress probing of
      /dev/aload* files for auto-loading.  These files often conflict with
      udev mechanism.
      Also, --with-resmgr is changed to --enable-resmgr.
    - Summary: Fix a typo
      Fixed a typo in the last change for --enable-resmgr.
    - Summary: Support dl-object cache
      Added the support of dl-object caches for PCM plugins.
    - Summary: move the Jack plugin to alsa-plugins
      remove the src/pcm/ext/Makefile.in entry from configure.in, too
      Signed-off-by: Lee Revell <rlrevell at joe-job.com>
    - release: 1.0.9rc1
    - Summary: Fix a typo
      Fix a typo of sostenuto.
      The old definition is kept for compatibility.
    - release: 1.0.9rc2
    - Summary: Added snd_pcm_hw_params_set_rate_resample function
      - snd_pcm_hw_params_set_rate_resample()
      - snd_pcm_hw_params_get_rate_resample()
    - release: 1.0.9rc3
    - - Fedora 4 patch - fix for alpha arch
    - Summary: API for device name lists and timer enhancements
      - new snd_names_list and snd_names_list_free functions
      - added snd_timer_ginfo related functions to the timer API
    - Summary: added full async interface to timer API
      - added snd_async_add_timer_handler and snd_async_handler_get_timer functions
      - added async command to test/timer.c
    - Summary: Add snd_pcm_hw_params_get/set_export_buffer()
      Add snd_pcm_hw_params_get/set_export_buffer() API functions.
      They control to ensure the buffer export to other processes.
      If this flag is set, the local buffer of a plugin is exported over IPC shm.
      Otherwise the buffer can be handled only locally (no shm).
      Also fixed Version file for 1.0.9.
    - release: 1.0.9rc4
    - release: 1.0.9
  + Config API
    - Summary: fix some file paths in comments
      doxygen complains if the file name specified with \file does
      not match the real file name, so fix it
    - Summary: API for device name lists and timer enhancements
      - new snd_names_list and snd_names_list_free functions
      - added snd_timer_ginfo related functions to the timer API
    - Summary: Fix doxygen documents
      Fix the warnings of doxygen parsing.
      Add some missing documentation.
  + Control API
    - Summary: fix some file paths in comments
      doxygen complains if the file name specified with \file does
      not match the real file name, so fix it
    - Summary: Add resmgr support
      Added the support for resmgr.  A new configure option --with-resmgr is added
      to enable the resmgr support.
    - Summary: Fix resmgr support
      Call normal open() before trying with res_open_device().
      snd_open_device() is defined to do this procedure.
    - Summary: Add --disable-aload configure option
      Added --disable-aload configure option to suppress probing of
      /dev/aload* files for auto-loading.  These files often conflict with
      udev mechanism.
      Also, --with-resmgr is changed to --enable-resmgr.
    - Summary: Fix invalid free
      Fixed the invalid free of memory.
    - Summary: Fedora 4 patch - gcc4 fixes
    - Summary: Fix doxygen documents
      Fix the warnings of doxygen parsing.
      Add some missing documentation.
  + Device Name API
    - Summary: API for device name lists and timer enhancements
      - new snd_names_list and snd_names_list_free functions
      - added snd_timer_ginfo related functions to the timer API
  + HWDEP API
    - Summary: fix some file paths in comments
      doxygen complains if the file name specified with \file does
      not match the real file name, so fix it
    - Summary: Add resmgr support
      Added the support for resmgr.  A new configure option --with-resmgr is added
      to enable the resmgr support.
    - Summary: Fix resmgr support
      Call normal open() before trying with res_open_device().
      snd_open_device() is defined to do this procedure.
    - Summary: usb-audio - add Extigy/Audigy 2 NX remote control support
      Add an hwdep interface that supports reading remote control data from
      Sound Blaster Extigy and Audigy 2 NX devices.
    - Summary: Fedora 4 patch - gcc4 fixes
  + I/O API
    - Summary: fix some file paths in comments
      doxygen complains if the file name specified with \file does
      not match the real file name, so fix it
  + Instrument API
    - Summary: fix some file paths in comments
      doxygen complains if the file name specified with \file does
      not match the real file name, so fix it
  + Mixer API
    - Summary: Fix memory leak
      Fixed memory leak at snd_mixer_elem_detach().
    - Summary: fix some file paths in comments
      doxygen complains if the file name specified with \file does
      not match the real file name, so fix it
    - Summary: stack protection (CAN-2005-0087)
      From Thierry Vignaud <tvignaud at mandrakesoft.com>:
      from rh: stack protection control (see
      https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=144518)
    - Summary: Use bag_for_each_safe() for event handling loop
      Use bag_for_each_safe() for event handling loop.
      Event callbacks may be destructive.
    - Summary: Add Side controls in the weight list
      Added the "Side" controls in the weight list.
    - Summary: Fix snd_mixer_sort()
      Fixed the wrong pointer use in snd_mixer_sort().
      (Patch from https://bugs.gentoo.org/attachment.cgi?id=58918)
  + PCM API
    - Summary: Use snd_config_get_bool()
      Clean up the code, using snd_config_get_bool().
    - Summary: Fix a typo
      Fixed a typo in comment by Kirill Smelkov <kirr at mns.spb.ru>
    - Summary: Fixed compile warning
      Fixed compile warning.  The strlen() returns size_t, not integer.
    - Summary: Fix compile warning
      Fixed compile warning with printf() and timeval sizes.
    - Summary: improved stream linking and plugin code cleanups
      - added link/unlink/link_fd fast_ops callbacks
      - moved code from snd_pcm_link to pcm_hw.c
      - moved "empty" routines pointing to slave to pcm_generic.c
      - introduced snd_pcm_generic_t
    - Summary: Add pcm_generic.h
      Added the missing pcm_generic.h.
    - Summary: The stream linking problem for pcm_multi.c should be fixed now
      - extended link_fd callback
      - added snd_pcm_generic_link2()
      - added _snd_pcm_link_descriptors()
    - Summary: Use snd_config_get_bool()
      Cleanup using snd_config_get_bool() in possible places.
    - Summary: Fix the available formats
      Fixed the available formats to be set in hw_refine.
    - Summary: Add resmgr support
      Added the support for resmgr.  A new configure option --with-resmgr is added
      to enable the resmgr support.
    - Summary: start pcm when draining in prepared state
      For consistency with hw pcms, dmix/dshare pcms are started
      when draining in the prepared state with a non-empty buffer.
    - Summary: Split arch-dependent codes of dmix
      Split arch-dependent codes of dmix to separate files.
    - Summary: Fix hw_params of lfloat plugin
      Fixed the bogus hw_refine call in hw_params of lfloat plugin.
    - Summary: Add external PCM plugin SDK (draft version)
      Added the external PCM plugin SDK (draft version).
      This can be used to create external PCM plugins.
      Example codes are found in alsa-plugins directory.
    - Summary: Fix compile warnings
      Fixed compile warnings with unused variables.
    - Summary: Fix resmgr support
      Call normal open() before trying with res_open_device().
      snd_open_device() is defined to do this procedure.
    - Summary: Add filter-type external plugin SDK
      Added the SDK for filter-type PCM plugins.
      Share some codes with ioplug.
    - Summary: Code clean-up
      Small code clean-up
    - Summary: Accept string type card
      Accept string type card entry to be compatible with others.
    - Summary: Remove JACK plugin
      Removed JACK plugin.  It's in alsa-plugins now.
    - Summary: Initialize structs for ioctls
      Initialize the argument structs before calling ioctls to make
      valgrind happy.
    - Summary: fix the file plugin
      Call snd_pcm_file_hw_params instead of snd_pcm_generic_hw_params
      to prevent a crash when the file plugin is used.
    - Summary: Add snd_pcm_parse_control_id()
      Added a new function snd_pcm_parse_control_id() for the user controls.
      This can be used in external plugins, too.
    - Summary: Small code clean up
      Small code clean up for readability.
    - Summary: Fix resume of dmix, dsnoop and dshare plugins
      Fix the resume of dmix, dsnoop and dshare plugins.
      [This replaces the timer mode with TREAD mode, and may trigger Oops
       with the older kernel...]
    - Summary: Fix compilation with gcc-4.0
      Fixed compilation with gcc-4.0
    - Summary: Fix noises in rate exapnsion
      Fixed noises in rate exapnsion.
    - Summary: Fix noises on exapnd
      Fixes noise on rate expansion (bug #1018).
    - Summary: Delayed start for dmix
      Introducing a private state for the delayed start of PCM stream.
      This problem occurs when the rate plugin doesn't feed the data
      properly before triggering START.  This results in weird problems,
      e.g. an inifinte loop of artsd eating 100% CPU time.
      To solve this problem, the state is marked as "pending" when no
      data appears at the trigger, and the stream is started later at
      the mmap commit.
    - Summary: Do hwsync of slave PCM on dmix
      Call hwsync of slave PCM on snd_pcm_hwsync() over dmix.
      This reduces ocasional output noises, typically seen in xmms and bmp with
      multi-threading on SMP/HT systems.
      Disabled slowptr of default dmix definition again.
    - Summary: Generic architecture support
      Support dmix on generic architectures without atomic operations but
      using a semaphore to avoid concurrent accesses.  This is less effective
      than atomic operations but should work on every system.
    - Summary: Check PCM format aliases
      Check PCM format alias strings (e.g. "S16") as acceptable PCM formats.
    - Summary: Stop timer at XRUN
      Stop PCM timer at XRUN.
    - Summary: Fix segfault with downsampling
      Fix segfault in the initialization for downsampling.
    - Summary: Fix channel_info callbacks of hooks, file and plug plugins
      Fixed channel_info callbacks of hooks, file and plug plugins (BTS #1034).
      snd_pcm_generic_channel_info_slave() is added.
    - Summary: More fixes for 100% CPU hang with dmix
      More fixes for 100% CPU hang-up problem with dmix.
      - Clear timer queues properly when XRUN happens.
      - Don't check XRUN when the stream isn't really running.
      - Do hwsync properly for the delayed start state.
    - Summary: Compile warning fixes
      Trivial compile warning fixes.
    - Summary: Fix compile warning
      Fix compile warning (forgot return 0).
    - Summary: Fix more CPU hang-up bugs in dmix
      - Fix CPU hang-up during snd_pcm_drain()
        A new internal function snd_pcm_wait_nocheck() to force to call poll().
      - Clean up, fix status() callback of dmix
    - Summary: Added snd_pcm_hw_params_set_rate_resample function
      - snd_pcm_hw_params_set_rate_resample()
      - snd_pcm_hw_params_get_rate_resample()
    - Summary: Move old PCM API to pcm_old.h
      Clean up -- move old 0.9.x PCM API to pcm_old.h.
    - Summary: Add verbose hw_params debugging
      Added the verbose hw_params dump for debugging.
      The verbose error message is shown with the current hw_params dump
      when $LIBASOUND_DEBUG is set.
    - Summary: Suppress verbose debug messages
      Suppress verbose debug messages in hw_params_set[min|max|minmax] errors.
    - Summary: Check timer protocol number for direct plugins
      Check timer protocol number before enabling TREAD mode for direct plugins.
    - Summary: Fix timer read in non-TREAD mode
      Fix timer read in non-TREAD mode.  (the struct is different.)
    - Summary: Fix segfault
      Fix segfault (occuring when buffer/period sizes are aligned).
    - Summary: Read $LIBASOUND_DEBUG as integer
      Read $LIBASOUND_DEBUG as integer, 1 = hw_params dump, 2 = assert.
    - Summary: Fix ATTRIBUTE_UNUSED
      Remove invalid ATTRIBUTE_UNUSED and add it to necessary places.
    - Summary: Show verbose errors for invalid sw_params
      Show verbose errors (when $LIBASOUND_DEBUG is set) for some invalid sw_params.
    - Summary: Fix CPU hog with combination of rate plugin
      Fix CPU hog with some apps (e.g. artsd) when rate plugin is used
      together with dmix (or possible hw).
    - Summary: Fedora 4 patch - gcc4 fixes
    - Summary: remove broken *_step initialization (caused by previous Fedora 4 patch)
      Thanks to Abramo for notice.
    - Summary: Fix possible problems of playback drain with rate plugin
      Fixed the possible problems of playback drain with rate plugin
      when partial data remains and not committed before.
    - Summary: Fix partial commit in drain
      Fix the partial commit in draining with rate plugin.
    - Summary: Fix playback start with sync_ptr mode
      Fix by Istvan Varadi <ivaradi at gmail.com>
      - start the playback with snd_pcm_hw_start failed with -EPIPE, because
       some pointers were not updated. I attached a patch for alsa-lib 1.0.8,
       in which sync_ptr is called before SNDRV_PCM_IOCTL_START. It seems to
       solve the problem, though I don't know alsa-lib enough to be sure that
       this is the right solution...
    - Summary: Fix blocking during draining in dmix
      Fix the blocking during draining in dmix plugin due to ioctl
      conflicts (bug #1074).  This is a temporary workaround.
    - Summary: Check timer version for read-block workaround
      Check the timer protocl version whether to use poll for a workaround
      of read-block problems.
    - Summary: Propagate pcm->info
      Propate pcm->info bit flags from the slave PCM in refine.
      This will fix the bug indicating bogus pause/resume capabilities.
    - Summary: Set up pcm->info properly
      Set up pcm->info properly for ioplug according to the avaialbe callbacks.
    - Summary: Remove pause and fix timer initialization in prepare
      - Removed broken pause implementations.
      - Fixed the timer initialization in prepare callback so that poll
        works again after prepare.
    - Summary: Fix drain of dmix without data
      Fixed the drain of dmix plugin without any data.
      It should return immediately.
    - Summary: Add poll_descriptors and poll_descriptors_count callbacks
      Added poll_descriptors and poll_descriptors_count callbacks for multiple
      poll_fd's.
    - Summary: Use snd_pcm_generic_t and its callbacks
      Use snd_pcm_generic_t and its callbacks.
    - Summary: Add protocl version check
      - Added protocl version check.  The caller of snd_pcm_{io|ext}plug_create()
        must fill version field with SND_PCM_{IO|EXT}PLUG_VERSION beforehand.
      - Added poll_descriptors and poll_descriptors_count callbacks for ioplug.
    - Summary: Remove poll_ask callback
      Removed poll_ask callbacks.
      poll_ask function is merged to poll_descriptors callbacks.
    - Summary: Fix snd_pcm_wait() for multiple pollfd's
      Fixed snd_pcm_wait() to handle multiple pollfd's.
    - Summary: Add perm option
      Added "perm" option to file plugin to specify the file permission.
      Changed the default permission to 0600.
    - Summary: Fix possible noises and optimization with dmix
      dmix transfers data in asynchronously so that it doesn't write on the
      last active period.  This will allow the arbitrary buffer size in
      future, too.
      The hwsync call to slave is removed from commit and hwsync callbacks.
      This hack was added to fix the noisy output (typically on xmms/bmp)
      but it doesn't happen any more.  Now the hwsync behavior is as same as
      on 1.0.8 (i.e. hwsync is called only when slowptr option is set).
    - Summary: Revert the shmget permission
      Oops, a part of another patch was merged accidentally.  Reverted.
    - Summary: More strict permission for IPC shm and sem
      Use more strict permission for IPC shm and sem, too.
      The permission follows to the value of ipc_perm config option, as
      default 0600.
    - Summary: Fix bugs in perm option
      Fixed silly bugs in perm option.
    - Summary: Fix generic channel_info callbacks
      Fixed generic channel_info callbacks for many plugins.
      The allocation of unnecessary internal buffers is avoided.
    - Summary: Add snd_pcm_hw_params_get/set_export_buffer()
      Add snd_pcm_hw_params_get/set_export_buffer() API functions.
      They control to ensure the buffer export to other processes.
      If this flag is set, the local buffer of a plugin is exported over IPC shm.
      Otherwise the buffer can be handled only locally (no shm).
      Also fixed Version file for 1.0.9.
    - Summary: Fix poll after XRUN with dmix
      Fix the behavior of poll after XRUN with dmix plugin.
      Poll should return immediately with an XRUN stream.
    - Summary: Minor clean up of dmix codes
      Minor clean up of dmix codes.
    - Summary: Fix dshare plugin codes
      Modify dshare plugin codes to follow the recent change of dmix:
      proper XRUN and poll handling, async data transfer.
    - Summary: Fix semaphore deadlocks
      - Fixed unbalanced semaphores (which may cause deadlock)
      - Do semaphore-up before blocking calls for communication with the server
      - Don't discard semaphores on the client side
      - Open slave PCMs always in non-blocking mode to avoid blocking by semaphore
        with the secondary open
    - Summary: Fix poll of dsnoop plugin
      Fixed the poll behavior of dsnoop plugin after commit.
    - Summary: Add area synchronization in poll_rsync of rate plugin
      Try to sync areas as much as possible in poll_rsync callback of rate plugin.
    - Summary: Move poll_* callbacks to fast_ops
      Moved poll_* callbacks to fast_ops.
      These callbacks may be called frequently indeed.
    - Summary: Minor clean up
      Minor clean up.
    - Summary: Fix compile without debug option
      Fixed the compile error (missing function) without debug option.
  + RawMidi API
    - Summary: Add resmgr support
      Added the support for resmgr.  A new configure option --with-resmgr is added
      to enable the resmgr support.
    - Summary: Fix resmgr support
      Call normal open() before trying with res_open_device().
      snd_open_device() is defined to do this procedure.
    - Summary: rawmidi_virt: fix hang on invalid MIDI data
      When writing invalid MIDI data to a virtual rawmidi port,
      snd_rawmidi_virtual_write() would forget to remove that data
      from the input buffer before continuing, resulting in an
      infinite loop.
    - Summary: Fedora 4 patch - gcc4 fixes
  + Sequencer API
    - Summary: Add resmgr support
      Added the support for resmgr.  A new configure option --with-resmgr is added
      to enable the resmgr support.
    - Summary: Fix resmgr support
      Call normal open() before trying with res_open_device().
      snd_open_device() is defined to do this procedure.
    - Summary: Add --disable-aload configure option
      Added --disable-aload configure option to suppress probing of
      /dev/aload* files for auto-loading.  These files often conflict with
      udev mechanism.
      Also, --with-resmgr is changed to --enable-resmgr.
    - Added snd_seq_ev_set_tag() macro
    - Summary: Fix the device-open check
      Fixed the device-open check with --disable-aload.
    - Summary: fix snd_seq_query_next_client documentation
      Fix snd_seq_query_next_client's documentation -- no name matching is
      actually done by ALSA.
    - Summary: Fedora 4 patch - gcc4 fixes
    - Summary: Fix doxygen documents
      Fix the warnings of doxygen parsing.
      Add some missing documentation.
  + Timer API
    - Summary: Add resmgr support
      Added the support for resmgr.  A new configure option --with-resmgr is added
      to enable the resmgr support.
    - Summary: Fix resmgr support
      Call normal open() before trying with res_open_device().
      snd_open_device() is defined to do this procedure.
    - Summary: Fedora 4 patch - gcc4 fixes
    - Summary: API for device name lists and timer enhancements
      - new snd_names_list and snd_names_list_free functions
      - added snd_timer_ginfo related functions to the timer API
    - Summary: added full async interface to timer API
      - added snd_async_add_timer_handler and snd_async_handler_get_timer functions
      - added async command to test/timer.c
    - Summary: Change some timer ioctls due to confliction
      Change values of some timer ioctls to avoid confliction with FIO* ioctls.
      Use old ioctls if the timer protocol version doesn't match.
    - Summary: Fix doxygen documents
      Fix the warnings of doxygen parsing.
      Add some missing documentation.
  + /include/Makefile.am
    - Summary: Add external PCM plugin SDK (draft version)
      Added the external PCM plugin SDK (draft version).
      This can be used to create external PCM plugins.
      Example codes are found in alsa-plugins directory.
    - Summary: Add filter-type external plugin SDK
      Added the SDK for filter-type PCM plugins.
      Share some codes with ioplug.
    - Summary: Move old PCM API to pcm_old.h
      Clean up -- move old 0.9.x PCM API to pcm_old.h.
  + /src/Makefile.am
    - Summary: API for device name lists and timer enhancements
      - new snd_names_list and snd_names_list_free functions
      - added snd_timer_ginfo related functions to the timer API
  + ALSA Lisp
    - Summary: Fix compile warning
      Fixed a compile warning with printf and size types.
  + Configuration
    - Summary: Fix the bogus return values
      Fixed return values from snd_config_load().  Return -EINVAL instead of
      internal error numbers.
    - Summary: Make dmix card-specific
      The parameters of dmix PCM definition are now card-specific.
      As default, period_size = 1024 and periods = 8 are used.
    - Summary: Add config for HDA-Intel
      Add HDA-Intel.conf for snd-hda-intel driver (former snd-azx).
      Azalia.conf is kept for backward compatibility.
    - Summary: Check error values
      Check error values from some functions which were ignored.
    - Summary: Fix a typo in default period size
      Fixed a typo in the default period size.
    - Summary: Make dsnoop card-specific
      Make dsnoop card-specific.  Its definition is moved to pcm/dsnoop.conf.
    - Summary: Use dmix/dsnoop for default PCM
      Use dmix/dsnoop plugins for default PCM in most of mobo chips
    - Summary: Add config file for PC-Speaker driver
      Added the config file for PC-Speaker driver (use dmix/null as default PCM)
    - Summary: Remove routing of 5.1 output
      Removed the routing of 5.1 output.  ICH4 uses the same slot
      assignment (3/4/7/8/6/9) like codec chips.
    - Summary: Fix the parse of filenames with spaces
      Fixed the parse of filenames with spaces.
    - Summary: use "C" locale when parsing floating point numbers
      Floating point numbers in configuration files always use "." as separator,
      so set the locale temporarily to "C" when calling strtod().
    - Summary: Support dl-object cache
      Added the support of dl-object caches for PCM plugins.
    - Summary: Fixed rear PCM (mono output)
      Signed-off-by: Mikael Magnusson <mikaelmagnusson at glocalnet.net>
    - Summary: Use softvol for default PCM
      Use softvol plugin for default PCM (for C-Media codecs)
    - Summary: Add config file for CMI8768
      Added the config file for CMI8768 (showns as CMI8738-MC8).
    - Summary: Fix card type to string
      Fixed the card type to string in each config.
      Also, removed suprefluous DEV argument in iec958 of some cards.
    - Summary: Fix SPDIF device
      Fixed SPDIF device number.
    - Fix rear/center_lfe subdevice mismatch
    - Summary: Fix AC3 output on alsa-lib ca0106.conf
      This fixes AC3 SPDIF output. It now correctly turns SPDIF OUT on when
      using the iec958 device.
      Signed-off-by: James Courtier-Dutton
    - Summary: Fixes AC3 output on Audigy2 sound cards
      This patch adds a DSP patch to fix an spdif_bug on some Audigy2 cards.
      It also does detailed identification of the capabilities of the sound
      card so that the patch is only applied to the sound cards that really
      need it.
      Signed-off-by: James Courtier-Dutton
    - Summary: Enable slowptr option as default
      Enabled slowptr option as default.
      This seems to eliminate the occasional noises on SMP/HT systems (maybe
      some race or cache mismatch).
    - Summary: Fix compile with gcc-4.0
      Fixed compilation with gcc-4.0.
    - Summary: Evaluate CARD argument
      Evaluate $CARD argument properly even when no card-specific default
      PCM is given.
    - Summary: Do hwsync of slave PCM on dmix
      Call hwsync of slave PCM on snd_pcm_hwsync() over dmix.
      This reduces ocasional output noises, typically seen in xmms and bmp with
      multi-threading on SMP/HT systems.
      Disabled slowptr of default dmix definition again.
    - Summary: Use S16 for default format
      Use S16 (endian-dependent) for the default PCM format of dmix/dnsoop
      configurations.
    - Summary: Use dmix/dsnoop as default
      Use dmix/dsnoop plugins as default for emu10k1x.
    - Summary: Remove Azalia.conf
      Removed Azalia.conf, using alias to HDA-Intel instead.
    - Summary: Use 'Channel Mode' control
      Use 'Channel Mode' control to set the 4/6 channel mode in the config hooks.
    - Summary: Add PMac Toonie configuration
      Added PMac Toonie configuration.  Using softvol for default.
    - Summary: Make surround config backward compatible
      Make hooks for surround config backward compatible with the older drivers
      (without "Channel Mode" control).
    - Summary: Add configuration for AACI driver
      Added the PCM configuration for ARM AACI driver.
    - Summary: Implement surround71 output for SB Live 24 bit.
      Note: Requires updated alsa-kernel as well.
  + Documentation
    - Summary: Remove JACK plugin
      Removed JACK plugin.  It's in alsa-plugins now.
    - Summary: Add a note on FC3
      Added a note on installation on FC3.
    - Summary: More doxygen comments
      Added more doxygen comments in pcm_extplug and pcm_ioplug codes.
    - Summary: Add external PCM plugin
      Added the section for external PCM plugin.
    - Summary: Read $LIBASOUND_DEBUG as integer
      Read $LIBASOUND_DEBUG as integer, 1 = hw_params dump, 2 = assert.
    - Summary: Fix documentation of external PCM plugin SDK
      Fix documentation of external PCM plugin SDK.
    - Summary: Fix doxygen documents
      Fix the warnings of doxygen parsing.
      Add some missing documentation.
  + Dynamic Loader helpers
    - Summary: Support dl-object cache
      Added the support of dl-object caches for PCM plugins.
  + Error handler
    - Summary: Read $LIBASOUND_DEBUG as integer
      Read $LIBASOUND_DEBUG as integer, 1 = hw_params dump, 2 = assert.
  + External PCM Filter Plugin SDK
    - Summary: More doxygen comments
      Added more doxygen comments in pcm_extplug and pcm_ioplug codes.
    - Summary: Add protocl version check
      - Added protocl version check.  The caller of snd_pcm_{io|ext}plug_create()
        must fill version field with SND_PCM_{IO|EXT}PLUG_VERSION beforehand.
      - Added poll_descriptors and poll_descriptors_count callbacks for ioplug.
    - Summary: Fix documentation of external PCM plugin SDK
      Fix documentation of external PCM plugin SDK.
  + External PCM I/O Plugin SDK
    - Summary: Support dl-object cache
      Added the support of dl-object caches for PCM plugins.
    - Summary: Add protocl version check
      - Added protocl version check.  The caller of snd_pcm_{io|ext}plug_create()
        must fill version field with SND_PCM_{IO|EXT}PLUG_VERSION beforehand.
      - Added poll_descriptors and poll_descriptors_count callbacks for ioplug.
  + External PCM Plugin SDK
    - Summary: Add external PCM plugin SDK (draft version)
      Added the external PCM plugin SDK (draft version).
      This can be used to create external PCM plugins.
      Example codes are found in alsa-plugins directory.
    - Summary: Add filter-type external plugin SDK
      Added the SDK for filter-type PCM plugins.
      Share some codes with ioplug.
    - Summary: Add snd_pcm_parse_control_id()
      Added a new function snd_pcm_parse_control_id() for the user controls.
      This can be used in external plugins, too.
    - Summary: Fix documentation of external PCM plugin SDK
      Fix documentation of external PCM plugin SDK.
  + I/O subsystem
    - Summary: undef gets in case it's a macro
      From Thierry Vignaud <tvignaud at mandrakesoft.com>:
      from rh: undef gets in case it's a macro (see
      https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=141423)
    - Summary: Remove invalid ATTRIBUTE_UNUSED
      Remove the invalid use of ATTRIBUTE_UNUSED.
  + Kernel Headers
    - Summary: Added asound_fm.h
      Added asound_fm.h to be used from specific apps.
    - Summary: Update user land emu10k1.h with changes from kernel emu10k1.h
    - Summary: Added snd_pcm_hw_params_set_rate_resample function
      - snd_pcm_hw_params_set_rate_resample()
      - snd_pcm_hw_params_get_rate_resample()
    - Summary: Increase timer protocol number
      Increase the timer protocl number (to distinguish the fix for TREAD ioctls).
    - Summary: usb-audio - add Extigy/Audigy 2 NX remote control support
      Add an hwdep interface that supports reading remote control data from
      Sound Blaster Extigy and Audigy 2 NX devices.
    - Summary: Change some timer ioctls due to confliction
      Change values of some timer ioctls to avoid confliction with FIO* ioctls.
      Use old ioctls if the timer protocol version doesn't match.
    - Summary: Add snd_pcm_hw_params_get/set_export_buffer()
      Add snd_pcm_hw_params_get/set_export_buffer() API functions.
      They control to ensure the buffer export to other processes.
      If this flag is set, the local buffer of a plugin is exported over IPC shm.
      Otherwise the buffer can be handled only locally (no shm).
      Also fixed Version file for 1.0.9.
  + SHM helpers
    - Summary: Fix a typo
      Fix a typo.
  + Test/Example code
    - Summary: latency test - Added -B and -E options
    - Summary: Added snd_pcm_hw_params_set_rate_resample function
      - snd_pcm_hw_params_set_rate_resample()
      - snd_pcm_hw_params_get_rate_resample()
    - Summary: midiloop - remove running status test
      Do not use running status to prevent errors with devices
      that add or remove running status bytes.
    - Summary: added full async interface to timer API
      - added snd_async_add_timer_handler and snd_async_handler_get_timer functions
      - added async command to test/timer.c
  + Utils
    - Summary: Fix the include path
      Fixed the include path.  Apps should include like <alsa/xxx>.
    - Summary: Add $include/alsa to the include path
      Added $include/alsa to the include path again for backward compatibility.
      Some apps fail to be built without this.
* alsa-utils
  + Core
    - Summary: move event dumping from arecordmidi to aseqdump
      Remove the event dumping functionality from arecordmidi and
      put it into the new aseqdump utility.
    - release: 1.0.9rc1
    - release: 1.0.9rc2
    - Summary: Install sound samples to correct places.
      All .wav files go in /usr/share/sounds/alsa
      The sample_map.csv goes in /usr/share/alsa/speaker-test
    - release: 1.0.9rc3
    - Summary: alsa-lib 1.0.9 is required now
    - release: 1.0.9rc4
    - release: 1.0.9rc4a
    - release: 1.0.9
  + /seq/Makefile.am
    - Summary: move event dumping from arecordmidi to aseqdump
      Remove the event dumping functionality from arecordmidi and
      put it into the new aseqdump utility.
  + ALSA Control (alsactl)
    - Summary: return error code on faillure
      Patch by Thierry Vignaud <tvignaud at mandrakesoft.com>:
      this enable callers to be aware of any faillure
    - Summary: Fix exit code
      Fixed the exit code for invalid options.  Now returns 1.
    - Summary: split source per command and added command 'names'
      - sources are splitted to separate files
      - added initial code for 'names' command
    - Summary: fix name of hw sequencer definition
      The name of the hardware sequencer definition is "hw", not "seq".
    - Summary: alsactl - probe rawmidi device for rawmidi definitions
      Try to open the rawmidi device instead of a pcm device with the
      same name when probing virtual rawmidi definitions.
    - Summary: alsactl - add names for unique rawmidi subdevices
      When a rawmidi device has subdevices with unique names, add names for
      all of them instead of only one name for the device.
    - Summary: Ignore -ENOTTY error
      Ignore -ENOTTY errror in probe functions, which indicates the
      non-existing component.
    - Summary: Fix --force option
      Fixed the broken --force option.
    - Summary: Add alsactl.h
      Added the missing alsactl.h
  + ALSA RawMidi Utility (amidi)
    - Summary: allow --send-hex data without quotes
      Now all non-option arguments are read as data for the -S option,
      instead of requiring exactly one argument for -S.
      This fixes the bug that when specifying multiple bytes for the -S
      option separated with spaces but without quoting, amidi would silently
      ignore all but the first byte.
    - Summary: clarify options in man page
      Actually show an overview of the options instead of saying "amidi options".
    - Summary: fix buffer length calculation
      The send_hex buffer length has to include the separating space, too.
    - Summary: use non-breaking hyphens in man page
      Replace - with \- where breaking hyphens are not intended.
    - Summary: fix amidi error handling
      Fix error handling when the input file cannot be loaded.
    - Summary: detect attempts to play .mid files with amidi
      Complain when the user attempts to play .mid files with amidi.
  + Speaker Test
    - Summary: Update to speaker-tools 0.0.7
      Updated to speaker-tools version 0.0.7.
    - Summary: adopt readme changes in manpage
      Adopt the changes in the 0.0.7 raeadme in the man page.
    - Summary: Minor updates. No functionallity changes.
    - Summary: Implement Pink noise output.
      Thank you Nathan Hurst and Phil Burk.
    - Summary: Add sound samples.
    - Summary: Install sound samples to correct places.
      All .wav files go in /usr/share/sounds/alsa
      The sample_map.csv goes in /usr/share/alsa/speaker-test
    - Summary: Implement order for 8-channel sound, arranged in 7.1 mode.
    - Summary: Fix speaker-test with -FS32_LE format.
    - Summary: Don't use max volume
    - Summary: Add .cvsignore
      Added .cvsignore
  + aconnect
    - Summary: Fix typo
      Fixed a typo.
  + alsaconf
    - Summary: Fix make without NLS
      Fix make without NLS support.
    - Summary: Sort options in alphabetic order
      Sort options in alphabetic order.
    - Summary: Fix exit code
      Fixed the exit code with -h option and invalid options.
    - Summary: Use -q option with grep
      Use -q option with grep.
    - Summary: Fix typo in alsaconf "modinfo" option
      BTS #921
      Signed-off-by: Thomas Hood <jdthood at yahoo.co.uk>
    - Summary: Fix check of fedora and redhat distributions
      Fix the syntax error in check of fedora and redhat distributions
      (BTS #318)
    - Summary: Change the Debian configuration file name
      The patch changes the file name to which alsaconf writes
      if the system is Debian
      Signed-off-by: Thomas Hood <jdthood at yahoo.co.uk>
    - Summary: Add alsaconf french man page
      Added a french man page for alsaconf by Baptiste Meles.
    - Summary: Adjust Front volume as default
      Adjust "Front" volume as default, too.
    - Summary: fix typo
      Just s/verion/version/ in alsaconf.in
      Signed-off-by: Claudio Fontana <sick_soul at yahoo.it>
    - Summary: Fix manpage installation
      Fix the installation of man page files (the exstion was omitted).
  + alsamixer
    - Summary: Fix compile warnings
      Fixed compile warnings due to unused variables.
    - Summary: Show other view names
      alsamixer shows all view names in the View: line so that user
      can understand what it means.  The currently used view is
      shown with brackets and emphasized.
    - Summary: Fix typo
      Fixed a typo.
    - Summary: Improve display of long text for enums.
    - Summary: Fix segfault with no-capture devices
      Fix segfault on the device without capture controls when the view
      is changed to capture mode (bug #1080).
  + amixer
    - Summary: exits with status 0 after -h option
      amixer exits with status 0 after -h option (ALSA BTS #858).
    - Summary: Fix exit status
      Return the exit status 0 after -h option.
      When invalid options are given, it should return exit code 1.
    - Summary: amixer no-range-checking option
      This patch adds the --nocheck option that disables range checking. It helps
      debugging drivers.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: Added -a,--abstract switch for upcoming abstract mixer API
    - Summary: Fixed basic astraction selection for simple mixer API
    - Summary: Fix compile warnings
      Fixed compile warnings with gcc4.
  + aplay/arecord
    - Summary: Added -n (--list-devnames) command
  + aplaymidi/arecordmidi
    - Summary: move event dumping from arecordmidi to aseqdump
      Remove the event dumping functionality from arecordmidi and
      put it into the new aseqdump utility.
    - Summary: Remove unused variable
      Removed unused variable.
  + aseqdump
    - Summary: move event dumping from arecordmidi to aseqdump
      Remove the event dumping functionality from arecordmidi and
      put it into the new aseqdump utility.
  + iecset
    - Summary: Fix 32kHz sample rates
      Fixed typos in check of sample rates.  Now 32k is handled correctly.
      Signed-off-by: Markus Bollinger <bollinger at digigram.com>
* alsa-tools
  + Core
    - release: 1.0.9rc1
    - Summary: Add ld10k1 tool
      Added ld10k1 tool by Peter Zubaj.
    - Summary: Add qlo10k1
      Added qlo10k1 by Peter Zubaj.
    - release: 1.0.9rc2
    - release: 1.0.9rc3
    - release: 1.0.9rc4
    - release: 1.0.9
  + Digigram Echo Mixer
    - Summary: echomixer update 1/4
      - Matrix mixer drawing code cleanup.
      - New feature: echomixer can load and restore the status of nominal level
        switches.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: echomixer update 2/4
      - Bugfix: Makes sure that the "changed" event will be triggered when we will
        set the right value (the trick of setting an out of range value do not work
        anymore with gtk+-2.x).
      - Bugfix: Same as above for toggle buttons.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: echomixer update 3/4
      - Code cleanup: remove some redundant variables.
      - Enhancement: The matrix mixer ignores mouse clicks that don't fall inside
        enabled mixer cells.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: echomixer update 4/4
      - Changes version from 1.0.3 to 1.0.4
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: echomixer GUI changes
      The following patch:
      - Adds a frame that will hold many switches.
      - Replaces the phantom power toggle button with a checkbutton inside the
      frame.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: echomixer autoclock support
      This patch:
      - Adds the "autoclock" feature. When it's enabled echomixer automatically
      switches between external and internal clock source if the cards receives,
      or it doesn't, a valid clock signal, respectively.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: echomixer cleanup
      This patch:
      - Cleans up the mess about nominal level switches.
      - Removes some old unused code.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: echomixer automute support
      This patch:
      - Adds support for the digital input automute control.
      - Some minor cleanup.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: increment subversion
      - Increment subversion to 1.0.5.
      Signed-off-by: Giuliano Pochini <pochini at shiny.it>
    - Summary: Fix compile warnings
      Fix compile warnings regarding int <-> pointer conversion
  + Envy24 Control
    - Summary: Fix compile warnings
      Fix compile warnings regarding int <-> pointer conversion
  + RME HDSP Loader
    - Summary: ppc firmware upload fix
      Signed-off-by: Thomas Charbonnel <thomas at undata.org>
  + as10k1 (EMU10K1+ DSP Assembler)
    - Summary: Fix build
      Fix build and clean of as10k1 to work properly with the recent
      auto-tools.
    - Summary: Added dummy distdir rule
    - Summary: Fix make install
      Fixed make install.
    - Summary: Fix compile failure in as10k1.c regarding label at end of compound statement.
  + ld10k1 (EMU10K1+ DSP Code Loader)
    - Summary: Add ld10k1 tool
      Added ld10k1 tool by Peter Zubaj.
    - Summary: Fix cvscompile
      - Use autoreconf.
      - Check as10k1 program in configure.
    - Packaging fix
    - Summary: Don't require as10k1
      Don't require as10k1 in the configure script and remove the .emu10k1
      files in maintainer-clean instead of clean, since the assembled
      .emu10k1 files are included in the alsa-tools dist.
      Signed-off-by: Mikael Magnusson <mikma at users.sourceforge.net>
    - Summary: init_live updates
      ld10k1: init_live updates
       * Added IEC958 Optical Raw Playback
       * Changed to mono switches saving GPRs
       * Renamed controls to match the Audigy driver closer.
       * switch_2x2.asm: Switch 2 x 2 channels
       * mono_switch_2.asm: Mono Switch 2 channels
       * mono_switch_2x2.asm: Mono Switch 2 x 2 channels
       * prologic.asm: LFE output added
      Signed-off-by: Mikael Magnusson <mikma at users.sourceforge.net>
    - Summary: ALSA 1.0.9 is required
    - Summary: Fix handling of $CFLAGS and $LIBS
      Removes ALSA_CFLAGS and ALSA_LIBS in configure.in, they are added to
      CFLAGS and LDADD in src/Makefile.am already.
      Signed-off-by: Mikael Magnusson <mikma at users.sourceforge.net>
    - Summary: Fix uninitialized variable
      Fixed uninitialized variable.  Fix also for gcc-2.9x.
  + qlo10k1
    - Summary: Add qlo10k1
      Added qlo10k1 by Peter Zubaj.
    - Summary: Fixed typos - ld10k1 -> qlo10k1
    - Summary: Fix handling of $CFLAGS and $LIBS
      Adds LD10K1_CFLAGS and LD10K1_LDFLAGS in src/Makefile.am, and moves
      QT_CXXFLAGS to the makefile.
      Signed-off-by: Mikael Magnusson <mikma at users.sourceforge.net>
    - Summary: Fix gw_CHECK_QT macro
      Fixes pattern in gw_CHECK_QT not to match files that the linker won't
      use, for example libqt.so.3 . Needed if both libqt and libqt-mt shared
      libraries are installed, but only the libqt-mt development library.
      Signed-off-by: Mikael Magnusson <mikma at users.sourceforge.net>
* alsa-firmware
  + Core
    - Summary: Added open-source tascam_loader firmware
      Added open-source tascam_loader firmware files
      by Martin Langer <martin-langer at gmx.de>
      New option "--enable-buildfw" is added to configure script
      to build firmware files via as31.
    - release: 1.0.9rc3
    - release: 1.0.9rc4
    - release: 1.0.9
  + RME HDSP Firmware
    - Summary: ppc firmware upload fix
      Signed-off-by: Thomas Charbonnel <thomas at undata.org>
  + Tescam USX2Y Firmware
    - Summary: Added open-source tascam_loader firmware
      Added open-source tascam_loader firmware files
      by Martin Langer <martin-langer at gmx.de>
      New option "--enable-buildfw" is added to configure script
      to build firmware files via as31.
    - Summary: text for building usx2y-fw from source file
      text added for building usx2y-fw from source file
      Signed-off-by: Martin Langer <martin-langer at gmx.de>
* alsa-oss
  + Core
    - Summary: Fix compile warning
      Fixed compile warning regarding the type of timeval with printf.
    - release: 1.0.9rc1
    - release: 1.0.9rc2
    - Summary: added 64-bit fopen support (sox works now)
      Signed-off-by: Mike Hearn <mike at navi.cx>
    - release: 1.0.9rc3
    - release: 1.0.9rc4
    - release: 1.0.9
  + PCM Emulation
    - Summary: Fixed O_NONBLOCK behaviour for PCM devices
      The problem appears to be a typo in alsa-oss/alsa/pcm.c:oss_dsp_open(),
      where the mode parameter rather than the oflags parameter is checked for
      the O_NONBLOCK flag.
      Signed-off-by: Matthew Hodgson <matthew at mxtelecom.com>
    - Summary: added 64-bit fopen support (sox works now)
      Signed-off-by: Mike Hearn <mike at navi.cx>
    - Summary: Use "default:X" PCM for secondary and later cards
      Use "default:X" PCM for secondary and later cards.



More information about the Lunar-commits mailing list