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