Changes v1.0.8 v1.0.9

From AlsaProject
Jump to: navigation, search

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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@arcom.com>
     Signed-off-by: Nicolas Pitre <nico@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@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@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@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@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@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@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@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@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@us.ibm.com>
   - Summary: driver model type fixes for ALSA
     Fixes by Pavel Machek <pavel@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@joe-job.com>
   - Summary: Fix the Audigy SPDIF sample rate register definitions
     Signed-off-by: Lee Revell <rlrevell@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@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@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@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@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@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@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@joe-job.com>
   - Summary: fix misc oopses
     Fix Oops with Multi-channel (EFX) mixer controls.
     Signed-off-by: Arnaud Patard <apatard@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@cmedia.com.tw>
   - Summary: use amp capabilities from afg if amp override not set
     Fix by Matt <matt@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@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@cmedia.com.tw>
   - Summary: choose multi-channel jacks automatically
     Patch by C.L. Tien <cltien@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@uli.com.tw>
   - Summary: intel8x0 - fix for broken PCI ID define for ICH6
     Patch-level: High
     Signed-off-by: Jean Delvare <khali@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@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@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@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@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@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@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@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@sci.fi>
   - Summary: maestro3: Add HW volume button support
     Add support for hardware volume buttons.
     Signed-off-by: Ville Syrjala <syrjala@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@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@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@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@gmx.de>
 + PARISC
   - Summary: Sync with 2.6 - ALSA Harmony sound driver for PA-RISC
     ALSA Harmony rewrite
     Signed-Off-By: Kyle McMartin <kyle@parisc-linux.org>
     Signed-off-by: Stuart Brady <sdbrady@ntlworld.com>
     Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
     Signed-off-by: Linus Torvalds <torvalds@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@parisc-linux.org>
     Signed-off-by: Stuart Brady <sdbrady@ntlworld.com>
     Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
     Signed-off-by: Linus Torvalds <torvalds@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@ntlworld.com>
     Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
     Signed-off-by: Linus Torvalds <torvalds@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@undata.org>
   - Summary: fix typo in midi code
     fix typo in midi code
     Signed-off-by: Thomas Charbonnel <thomas@undata.org>
   - Summary: hdsp - solved big endian problem
     ppc firmware upload fix
     Signed-off-by: Thomas Charbonnel <thomas@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@shiny.it>
   - Summary: echomixer update 4/4
     - Changes version from 1.0.3 to 1.0.4
     Signed-off-by: Giuliano Pochini <pochini@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@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@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@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@shiny.it>
   - Summary: increment subversion
     - Increment subversion to 1.0.5.
     Signed-off-by: Giuliano Pochini <pochini@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@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@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@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@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@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@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@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@undata.org>
 + Tescam USX2Y Firmware
   - Summary: Added open-source tascam_loader firmware
     Added open-source tascam_loader firmware files
     by Martin Langer <martin-langer@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@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@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@mxtelecom.com>
   - Summary: added 64-bit fopen support (sox works now)
     Signed-off-by: Mike Hearn <mike@navi.cx>
   - Summary: Use "default:X" PCM for secondary and later cards
     Use "default:X" PCM for secondary and later cards.
Custom Search
Personal tools
Namespaces

Variants
Actions
Navigation
wiki
Toolbox