Commit Graph

3746 Commits (1966bbd62ce31cef0cb020a6b4bd852dbc63b40c)

Author SHA1 Message Date
Clemens Ladisch c3f00739c5 ALSA: virtuoso: create common functions for GPIO bit switch controls
Factor out the common code of the mixer callbacks that handle controls
that just switch a single GPIO bit.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2008-09-22 09:01:11 +02:00
Clemens Ladisch fe10662c3c ALSA: virtuoso: handle D2X/DX dynamically
The Xonar D2X and DX are very similar to the D2 and D1, respectively, so
we can handle the differences dynamically instead of using a separate
model structure for each one.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2008-09-22 09:00:30 +02:00
Clemens Ladisch 4bd0c3a690 ALSA: oxygen: handle X-Meridian dynamically
Handle the differences between the X-Meridian and the other models in
the probe callback instead of using a second model structure.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2008-09-22 08:59:18 +02:00
Clemens Ladisch 2f1b0ec715 ALSA: oxygen: remove X-Meridian magic number
Introduce symbols that indicate the two models handled by the snd-oxygen
driver, instead of using a magic number.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2008-09-22 08:57:24 +02:00
Clemens Ladisch 568c59e722 ALSA: oxygen: add probe callback
Add a probe callback to the model structure so that model-specific
drivers can refine their model detection before the card is initialized.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2008-09-22 08:56:01 +02:00
Clemens Ladisch 9bd6a73aef ALSA: oxygen: use a copy of the model struct
Put a copy of the model structure into the chip structure so that model-
specific drivers can modify it depending on a particular device
instance.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2008-09-22 08:55:19 +02:00
Clemens Ladisch 6627bea10e ALSA: oxygen: use SPDIF channel status symbols
When setting the SPDIF channel status sample rate field, use the
recently defined symbols instead of magic numbers.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2008-09-22 08:53:31 +02:00
Harald Welte 98aa34c050 ALSA: HDA patch_via.c: Second S/PDIF (HDMI) support
The VT1702 and VT1708S have a second S/PDIF output which is used to
connect to a HDMI transmitter.  This patch adds support for it.

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:04 +02:00
Harald Welte 0aa62aef61 ALSA: HDA patch_via.c: Independent DAC for headphone
This mode allows an output stream to have two substreams, one for the
speakers and one for the headphone.  Each of the substreams has independent
PCM data and uses a different DAC.

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:03 +02:00
Harald Welte 69e52a8091 ALSA: HDA patch_via.c: Mute on headphone plug-in
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:02 +02:00
Harald Welte d949cac1ea ALSA: HDA patch_via.c: Add VT1708S and VT1702 support
The VT1702 and VT1708S codecs are new HDA codecs by VIA.

This patch adds support for them to the patch_via.c file for HDA

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:01 +02:00
Harald Welte fb4cb772c0 ALSA: HDA patch_via.c: Fix inversion of surround and side channels
In the current driver, there is a consistent mistake between the SURROUND and
the SIDE channels.  This patch fixes it.

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:52:00 +02:00
Harald Welte 76d9b0dd78 ALSA: HDA patch_via.c: HP and CD pin connect config
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:51:59 +02:00
Harald Welte eb14a46cf9 ALSA: HDA patch_via.c: cleanup
* add extra parenthesis to make code more readable
* use kzalloc() for alloc+zero rather than kcalloc()
* ensure that AUTO_SEQ_* starts at 0

Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:51:58 +02:00
Uwe Kleine-König e8f18ae558 ALSA: fix section for sa11xx-uda1341 platform driver
Don't use __init but __devinit to define probe function.  A pointer to
sa11xx_uda1341_probe is passed to the core via platform_driver_register
and so the function must not disappear after the module is loaded.  Using
__init and having HOTPLUG=y and SND_SA11XX_UDA1341=m the following
probably oopses:

	echo -n sa11xx_uda1341.1 > /sys/bus/platform/driver/sa11xx_uda1341/unbind
	echo -n sa11xx_uda1341.1 > /sys/bus/platform/driver/sa11xx_uda1341/bind

Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Brian Avery <b.avery@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:51:56 +02:00
Matthew Ranostay e99d32b325 ALSA: hda - add missing slave_dig_outs for 92HD73bxx
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 18:51:51 +02:00
Matthew Ranostay e348797018 ALSA: hda: SPDIF mux name change
Changed the mux naming scheme from "IEC9258 Mux" to "IEC958 Playback Source" to match
the coding style.

Signed-by-off: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:12:01 +02:00
Matthew Ranostay 0ffa980759 ALSA: hda: digital slave support for IDT codecs
Added slave_dig_outs entries for several IDT codecs that have multiple
SPDIF outs, and enabled these SPDIF outs in several pin configs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:12:00 +02:00
Mark Brown 6010b2da1f ALSA: ASoC: Use codec digital mute when stopping playback
Muting the DAC masks artefacts introduced as the digital stream shuts
down, for example when the input stops being clocked.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:59 +02:00
Mark Brown 3e860846d7 ALSA: ASoC: Sort Kconfig and Makefile entries for codecs
Hopefully this will make merges a little bit easier.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:58 +02:00
Mark Brown d540de4c2d ALSA: ASoC: Fix indentation in WM9713
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:57 +02:00
Matthew Ranostay de51ca1267 ALSA: hda: slave digital out support
Added support for playing a stream on multiple digital outs. This is done
by defining codec->slave_dig_outs as array of hda_nid_t with a null-terminated entry to set the
slave SPDIF outs, in which the slave outs have cloned settings of the master out (e.g. dig_out_nid).

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:55 +02:00
Krzysztof Helt de30d36be1 ALSA: fix section mismatch in the sound_core
The __exit cleanup_oss_soundcore() is called from
the __init init_soundcore(). This causes section mismatch
and breaks kernel's linking on sparc64.

Remove the __exit attribute from the cleanup_oss_soundcore().

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:53 +02:00
Takashi Iwai d8009882e9 ALSA: use correct lock in snd_ctl_dev_disconnect()
The lock used in snd_ctl_dev_disconnect() should be card->ctl_files_rwlock
for protection of card->ctl_files entries, instead of card->controls_rwsem.

Reported-by: Vegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:48 +02:00
Alexander Beregalov 3d8cb466a8 ALSA: ice1712.c: fix coding style
before:
total: 113 errors, 169 warnings, 2786 lines checked
total: 26 errors, 24 warnings, 504 lines checked

after:
total: 14 errors, 163 warnings, 2799 lines checked
total: 0 errors, 24 warnings, 504 lines checked

Compile tested only.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:46 +02:00
Alexander Beregalov 1de9fdc24b ALSA: ice1724.c: fix coding style
before:
total: 96 errors, 66 warnings, 2612 lines checked

after:
total: 11 errors, 64 warnings, 2624 lines checked

Compile tested only.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:45 +02:00
Vedran Miletic cc67b7f737 ALSA: ice1712/ice1724: Coding style fixes part 1 (more coming up)
Inspired by Alexander Beregalov's patches for wtm and aureon.c,
I decided to run checkpatch on some more files. After some work
checkpatch.pl-0.23 --no-tree --file --strict <file> reports
0 errors, 0 warnings, 0 checks, n lines checked for:
phase.c
phase.h
juli.c (1 check about unused code, maybe we should comment it)
juli.h (no changes necessary)
In other files I have just fixed // comments and long lines along the
way (but not all of them), more coming up.

Signed-off-by: Vedran Miletic <rivanvx@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:44 +02:00
Matthew Ranostay 07f455f779 ALSA: hda: removed unneeded hp_nid references
Removed unneeded hp_nid references for 92hd73xx codec family.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:42 +02:00
Matthew Ranostay d9737751eb ALSA: hda: SPDIF mux controls
Dynamically create mux controls for SPDIF outs on certain IDT/Sigmatel codecs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:41 +02:00
Alexander Beregalov f14d8e9750 ALSA: ice1712/wtm: fix coding style
before:
total: 2 errors, 0 warnings, 20 lines checked
total: 49 errors, 2 warnings, 518 lines checked

after:
total: 0 errors, 0 warnings, 20 lines checked
total: 0 errors, 0 warnings, 518 lines checked

Compile tested, size and code are equal.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:39 +02:00
Alexander Beregalov 1ce211a9db ALSA: ice1712/aureon.c: fix coding style
before:
total: 304 errors, 137 warnings, 2259 lines checked

after:
total: 0 errors, 121 warnings, 2284 lines checked

Compile tested, size is different because of include was changed,
but without that change md5sum is different because of cmp cx,dx/cmp
dx,cx swap and __LINE__ was changed in printk function.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:37 +02:00
Cliff Cai 59fcbb6312 sound: ASoC: Blackfin: Include Blackfin architecture support in build
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:28 +02:00
Cliff Cai 579e8eac46 sound: ASoC: Blackfin: add Blackfin arch ASoC Kconfig and Makefile
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:25 +02:00
Cliff Cai a7e7f54f98 sound: ASoC: Blackfin: board driver for SSM2602 sound chip
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:23 +02:00
Cliff Cai c4cf8c79c1 sound: ASoC: Blackfin: board driver for AD1980/1 audio codec
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:23 +02:00
Cliff Cai 912c2ac94e sound: ASoC: Blackfin: I2S CPU DAI driver
[Additional coding standards fixes by Mark Brown.]

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:21 +02:00
Cliff Cai 88740da15c sound: ASoC: Blackfin: DMA Driver for I2S sound chip
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:20 +02:00
Cliff Cai f2028623f2 sound: ASoC: Blackfin: AC97 Blackfin CPU DAI driver
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:19 +02:00
Cliff Cai aff0510c00 sound: ASoC: Blackfin: DMA Driver for AC97 sound chip
[Additional coding standards fixes by Mark Brown.]

Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:18 +02:00
Cliff Cai 8c9c198347 sound: ASoC: Blackfin: SPORT peripheral interface driver
SPORT is a serial port which can support serveral serial communication
protocols.  It can be used as I2C/PCM/AC97. For further information,
please look up the HRM.

[Additional coding standards fixes by Mark Brown.]

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:17 +02:00
Cliff Cai b7138212a8 sound: ASoC codec: SSM2602 audio codec driver
[Some checkpatch fixups done by Mark Brown.]

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:15 +02:00
Jean Delvare 41759c2eab sound: ASoC: Convert wm8510 to a new-style i2c driver
Convert the wm8510 codec driver to the new (standard) device
driver binding model.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Geoffrey Wossum <gwossum@acm.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:13 +02:00
Jean Delvare b6471305bb sound: ASoC: Convert neo1973/lm4857 to a new-style i2c driver
Convert the lm4857 driver in neo1973_wm8753 to the new (standard)
i2c device driver binding model. I assumed that the LM4857 was always
on the same I2C bus as the WM8753 codec.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Tim Niemeyer <reddog@mastersword.de>
Cc: Graeme Gregory <graeme@openmoko.org>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:11 +02:00
Jean Delvare ad4503d8a0 sound: ASoC: Convert wm8753 to a new-style i2c driver
Convert the wm8753 codec driver to the new (standard) i2c device
driver binding model.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Ville Syrjala <syrjala@sci.fi>
Cc: Frank Mandarino <fmandarino@endrelia.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:10 +02:00
Jean Delvare d280289e79 sound: ASoC: Fix an error path in neo1973_wm8753
The error handling in neo1973_init is incorrect:

* If platform_device_add fails, we go on with the rest of the
  initialization instead of bailing out. Things will break when the
  module is removed (platform_device_unregister called on a device
  that wasn't registered.)

* If i2c_add_driver fails, we return an error so the module will not
  load, but we don't unregister neo1973_snd_device, so we are leaking
  resources.

Add the missing error handling.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Tim Niemeyer <reddog@mastersword.de>
Cc: Graeme Gregory <graeme@openmoko.org>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:07 +02:00
Robert P. J. Day dfdf34bbcb sound: remove reference to dead sound OSS vars AEDSP16_MSS and SBPRO
Remove the Kconfig definitions of unused variables AEDSP16_MSS and
AEDSP16_SBPRO since they're:

1) unused, and
2) referenced incorrectly anyway.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:11:01 +02:00
Randy Dunlap dc0abf9005 ALSA: us122l - Add missing dependency on CONFIG_SND_HWDEP
CONFIG_SND_USB_US122L uses snd_hwdep_new(), so SND_HWDEP needs
to be enabled (selected).

ERROR: "snd_hwdep_new" [sound/usb/usx2y/snd-usb-us122l.ko] undefined!

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:10:57 +02:00
Cliff Cai b1cd9b24e8 ALSA: ASoC codec: fix compiling error in ad1980 driver after ASoC API changed
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:10:54 +02:00
Takashi Iwai ea88663cdc ALSA: remove stale files
Empty files remained likely due to wrong patching.
Remove them now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:10:52 +02:00
Takashi Iwai 2f5983f2aa ALSA: hda - allow probing of 4 codecs
Allow probing of 4 codecs on known good situations.
On some known bad situations, it should be avoided.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-09 09:10:49 +02:00
Cliff Cai 7003609b3b ALSA: add dummy function to support shared mmap in nommu Blackfin arch
Cc: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 11:06:34 +02:00
Mark Brown b7c9d85205 ALSA: ASoC: Don't suggest compile time selection of codec access
Currently the boiler plate code used by most ASoC codecs to provide a
placeholder for SPI access suggests making the selection of SPI a
compile time option which is suboptimal when trying to build kernels
supporting multiple systems.  Change this template to suggest allowing
runtime selection instead.

Leave the drivers not yet converted to new style I2C access for now to
avoid collisions.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:34:30 +02:00
Cliff Cai d2a403553b ALSA: ASoC: Add SPI support for WM8731
[Modified to allow runtime selection between I2C and SPI and to select
SPI_MASTER for all codecs build so this is included. -- broonie]

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:34:27 +02:00
Jean Delvare e5d3fd38f9 ALSA: ASoC: Convert wm8990 to a new-style i2c driver
Convert the wm8990 codec driver to the new (standard) device driver
binding model. After this change, WM8990 devices are no longer
discovered automatically and must instead be instantiated explicitly.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:34:26 +02:00
Jean Delvare 81297c8a4b ALSA: ASoC: Convert wm8731 to a new-style i2c driver
Convert the wm8731 codec driver to the new (standard) device driver
binding model.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Tested-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:34:25 +02:00
Jean Delvare ee1d0099c1 ALSA: ASoC: Convert wm8750 to a new-style i2c driver
Convert the wm8750 codec driver to the new (standard) device driver
binding model.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:34:23 +02:00
Jean Delvare d28d271328 ALSA: ASoC: Convert ak4535 to a new-style i2c driver
Convert the ak4535 codec driver to the new (standard) device driver
binding model. After this change, AK4535 devices are no longer
discovered automatically and must instead be instantiated explicitly.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:34:21 +02:00
Jean Delvare 88fc39d721 ALSA: ASoC: Convert uda1380 to a new-style i2c driver
Convert the uda1380 codec driver to the new (standard) device driver
binding model.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:34:20 +02:00
Mark Brown 7f9e9d7614 ALSA: ASoC: Make all codecs depend on rather than selecting I2C
The I2C layer uses I/O operations that aren't available on all
architectures and since select bypasses Kconfig dependency checking
selecting I2C breaks builds like allmodconfig on some architectures.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:34:18 +02:00
Takashi Iwai c86a456b25 ALSA: harmony - fix a typo
Fix a typo in the patch to remove snd_assert().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:33:55 +02:00
Takashi Iwai 631e8ad428 ALSA: aaci - Fix NULL test at error path
The original fix by Julien Brunel <brunel@diku.dk>.

aaci_init_card() returns a pointer with ERR_PTR(), but in aaci_init()
NULL is supposed at this error path.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:33:53 +02:00
Takashi Iwai d695e4ea86 ALSA: intel8x0 - use snd_pci_quirk for clock list
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:33:51 +02:00
Travis Place 2346d0cde5 ALSA: hda - Add model for Toshiba L305 laptop
Added Subsystem IDs (0x1179, 0xff64) for the Toshiba Satellite L305
laptop, so it automatically uses the ALC268_TOSHIBA quirk.

Signed-off-by: Travis Place <wishie@wishie.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:26:39 +02:00
Harvey Harrison b03671a826 ALSA: ac97_patch make functions static
Only used in ac97_codec by including ac97_patch.c directly, effectively static

Found by sparse:
sound/pci/ac97/ac97_patch.c:3551:5: warning: symbol 'patch_vt1617a' was not declared. Should it be static?
sound/pci/ac97/ac97_patch.c:3767:5: warning: symbol 'patch_vt1618' was not declared. Should it be static?

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:26:37 +02:00
Takashi Iwai f4446ea046 ALSA: atiixp - Add PCI ID for SB600 (1002:4382)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:26:36 +02:00
Takashi Iwai a6b936b956 ALSA: ice1724 - limit channels for multi-channel playback
Limit the available channels for multi-channel playback device to
the real number of channels.  Until now, always up to 8 channels
are created, which are simply useless without the real outputs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:25:05 +02:00
Vedran Miletic eee75a6ca7 ALSA: ice1724: Enable MIDI on TerraTec PHASE 22 and PHASE 28
Even though MIDI was fixed on ice1724 chips a while ago, it wasn't yet
enabled for some cards as it didn't get enough testing. This was tested
with MIDI keyboard on PHASE 22 and with looping back output to input and
it works stable, so it's safe to enable it.

Besides this, there are some more minor fixes, not exactly user visible:
* added info about PHASE 28 (collected, as I don't have a card)
* added info about TS22PCI and new revisions of PHASE 22
* disable 192k on PHASE 22 as AK4524 I2S doesn't support it
* enable SPDIF reciever on PHASE 22

Signed-off-by: Vedran Miletic <rivanvx@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:25:03 +02:00
Maximilian Rehkopf c1805dddc9 ALSA: ice1724: enable MIDI on Terratec Aureon 7.1 Universe
This enables MIDI on Terratec Aureon 7.1 Universe cards specifically.
Apparently the other envy24ht-based Aureon cards do not have MIDI ports,
hence I added a Universe specific eeprom array.

The newer cards (Aureon 7.1 PCI / 5.1 PCI/Fun) have MIDI but use a CMI
DSP so this driver does not concern them at all.

Signed-off-by: Maximilian Rehkopf <otakon@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-09-04 10:25:01 +02:00
Jaroslav Kysela 2b3b5485aa ALSA: intel8x0: implement ac97_clock whitelist
The AC97 clock detection is not accurate in some cases. This patch adds
an initial whitelist for audio devices gathered from RedHat's bugzilla:

https://bugzilla.redhat.com/show_bug.cgi?id=441087

As a side effect, white-listing might speedup kernel booting (AC97 clock
measuring code is not activated).

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 12:23:41 +02:00
Tejun Heo d886e87cb8 sound: make OSS sound core optional
sound/sound_core.c implements soundcore.ko and contains two parts -
sound_class which is shared by both ALSA and OSS and device
redirection support for OSS.  It's always compiled when any sound
support is enabled although it's necessary only when OSS (the actual
one or emulation) is enabled.  This is slightly wasteful and as device
redirection always registers character device region for major 14, it
prevents alternative implementation.

This patch introduces a new config SOUND_OSS_CORE which is selected
iff OSS support is actually necessary and build the OSS core part
conditionally.

If OSS is disabled, soundcore merely contains sound_class but leaving
it that way seems to be the simplest approach as otherwise sound_class
should be in ALSA core file if OSS is disabled but should be in
soundcore if OSS is enabled.  Also, there's also the user confusion
factor.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:21 +02:00
Hiroshi Miura 9f99a6386e ALSA: hda - Add support of Toshiba RX1
Added the support of Toshiba RX1 laptop with ALC262 codec chip.
Related ALSA bug#3386:
    https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3386

Signed-off-by: Hiroshi Miura <miurahr@acm.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:20 +02:00
John L. Utz III 9e285e1a58 ALSA: ac97 - vt1618 7.1 Audio Support
1. Implement 7.1 Output for vt1618 codec.
2. Fix typos in comments from my previous 1617a patch.

Signed-off-by: John L. Utz III <john.utz@dmx.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:18 +02:00
Takashi Iwai ac68c16a44 ALSA: remove obsolete *_FIRMARE_IN_KERNEL in isa/Kconfig
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:16 +02:00
Mark Brown f0062a92c3 ALSA: ASoC: Convert DAPM pop time configuration to debugfs
Pop time configuration is a debugging feature which shouldn't be used in
normal operation so move it to debugfs where it is clearer. This also
simplifies the code since debugfs provides standard facilities for
exposing simple integer values to user space.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:14 +02:00
Takashi Iwai 2922c9aff2 ALSA: hda - Add descriptions of missing model values
Added the descriptions of missing model values.
Also, fixed the model strings of a few new models to a standard style.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:13 +02:00
Joseph Chan 0e153474f4 ALSA: hda - Fix VIA recording problem
Add a workaround for bad DMA-position reporting on VIA chipset.

Signed-off-by: Joseph Chan <josephchan@via.com.tw>
[modified and cleaned up by tiwai]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:12 +02:00
Mark Brown acdfc9e305 ALSA: ASoC: WM8903 I2C cleanups
Fix a few issues identified by Jean Delvare:

 - Add missing newline to error display.
 - Return an error when we fail to locate the I2C adaptor.
 - Remove the static wm8903_i2c_device Jean suggested, it's redundant.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:09 +02:00
Jean Delvare 9b6e12e458 ALSA: ASoC: Add missing new-line at end of strings
Two warning messages lack their trailing new-line, add it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:07 +02:00
Kailang Yang f1d4e28b2d ALSA: hda - Add more ALC662/663 codec support
- Add support for ECS (1019:9087)
- Delete G71V record from alc662_cfg_tbl[]
  The PCI SubsystemID was the same with M70V
- Add more ASUS notebook support

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:06:04 +02:00
Kailang Yang e2757d5efa ALSA: hda - support more ALC888 devices
- Add Lenovo Sky support (17aa:101d)
- Add ASUS M90V support (1043:8317)
- Add ASUS Eee 1601 support (1043:835f)

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:59 +02:00
Kailang Yang 60db6b53fb ALSA: hda - Add support of Quanta FL1
Added the support of Quanta FL1 with ALC269 code chip.
Also a bit space clean-ups.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:57 +02:00
Kailang Yang 8ef355da64 ALSA: hda - Add support of Acer Aspire One
Added the support of Acer Aspire One with ALC269 codec chip.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:55 +02:00
Kailang Yang 4e555fe547 ALSA: hda - Add support of Toshiba S06
Added the support of Toshiba S06 with ALC262 codec chip.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:54 +02:00
Kailang Yang 3f8783084a ALSA: hda - Add support of HP DC7600
Fixed the support of HP DC7600 with ALC260, which was formerly handled
as model=hp-3013.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:52 +02:00
Kailang Yang ea1fb29ac9 ALSA: hda - fix spaces in patch_realtek.c
Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:50 +02:00
Mark Brown f1c0a02f32 ALSA: ASoC: Add WM8903 CODEC driver
The WM8903 is a high performance ultra-low power stereo CODEC optimised
for portable audio applications.  Features include:

    * 5mW power consumption for DAC to headphone playback
    * Stereo DAC SNR 96dB typical, THD -86dB typical
    * Stereo ADC SNR 93dB typical, THD -80dB typical
    * Up to 3 single ended inputs per stereo channel
    * Up to 2 pseudo differential inputs per stereo channel
    * Up to 1 fully differential mic input per stereo channel
    * Digital Dynamic Range Controller (compressor/limiter)
    * Digital sidetone mixing

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:05:47 +02:00
Jaroslav Kysela d67f49b021 ALSA: Cosmetic change: CA0106 on MSI K8N Diamond PLUS Motherboard
Make ',' delimited with space as for other entries in table.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-29 10:01:04 +02:00
Krzysztof Helt f83a59c3c1 ALSA: wss_lib: do not mess mixer settings during probe
Use the wss_dout function which does not mess
shadowed register values during chip probing.
Otherwise, user ends up with stupid mixer settings
after driver loading.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:50 +02:00
Rene Herman 36463a9660 ALSA: snd-ad1816a: add different TerraTec EWS64 S model
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:49 +02:00
Andreas Mohr cb780cdd85 ALSA: ALS4000 driver work, step 2
- more register naming work
- finally figured out that weird CR register stuff
  (and did I mention that I hate _really_ undecipherable open-coded values?)
- fix handling of IRQ sharing in interrupt handler
  (hopefully properly, otherwise I'd be grateful to hear your
  pedantic comments ;)
- add handy SPECS_PAGE references wherever useful
- comments, cleanup
- add me as module author

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:48 +02:00
Takashi Iwai e01bf5091f ALSA: hda - Fix ALC269 capture source
ALC269 capture source wasn't properly set up.
It's an independent MUX (0x23), not a source of ADC.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:44 +02:00
Takashi Iwai 5503600a1c ALSA: via82xx - check continuous pages in buffer setup
Check continuous pages in the buffer set up so that the number of
BDL is reduced.  Also increased the max buffer size.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:43 +02:00
Takashi Iwai a2e3961d0a ALSA: via82xx - ignore buffer preallocation errors
The errors at buffer preallocations aren't fatal and safe to ignore.
The buffer will be allocated dynamically when opened.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:41 +02:00
Takashi Iwai fc4abee811 ALSA: hda - check page continuity
Check the continuity of allocated pages to reduce the BDL size as much
as possible so that it can use more than 1MB buffers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:40 +02:00
Takashi Iwai 51e9f2e665 ALSA: Allocate larger pages in sgbuf
Most hardwares have limited buffer-descriptor table length.  This
also restricts the max buffer size of the sound driver.
For example, snd-hda-intel has 1MB buffer size limit, and this is
because it can have at most 256 BDL entries.  For supporting larger
buffers, we need to allocate larger pages even for sg-buffers.

This patch changes the sgbuf allocation code to try to allocate
larger pages first.  At each head of the allocated pages, the
number of allocated pages is stored in the lowest bits of the
corresponding entry of the table addr field.  This change isn't
visible as long as the driver uses snd_sgbuf_get_addr() helper.

Also, the patch adds a new function, snd_pcm_sgbuf_get_chunk_size().
This returns the size of the chunk on continuous pages starting at
the given position offset.  If the chunk reaches to a non-continuous
page, it returns the size to the boundary.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:38 +02:00
Takashi Iwai 4e184f8fc0 ALSA: Fix allocation size calculation in snd_dma_alloc_pages_fallback()
snd_dma_alloc_pages_fallback() always tries to reduce the size in a half,
but it's not good when the given size isn't a power-of-two.
Check it first then try to align.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:19 +02:00
Takashi Iwai 77a23f2695 ALSA: Clean up SG-buffer helper functions and macros
Clean up SG-buffer helper functions and macros.  Helpers take substream
as arguments now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:18 +02:00
Alexander Beregalov 46480b3a5f ALSA: revo51: add headphone output
It is ALSA bug #1754.
 D6 bit in 02 register is PW4.

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:17 +02:00
Takashi Iwai 2005af24b1 ALSA: hda - Create beep control on ALC269 codec
ALC269 codec has a beep, but it was not used, so far.
Create a beep control appropriately.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:16 +02:00
Roel Kluin c7d03bc2fe ALSA: aoa - Remove duplicate assignment of SNDRV_PCM_FMTBIT_S{16,24}_BE bits
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:14 +02:00
Krzysztof Helt f87426e085 ALSA: opl3sa2: replace nd_opl3sa2_info_xxx() with snd_wss_info_xxx()
Replace snd_opl3sa2_info_xxx() with snd_wss_info_xxx().
Drop check of card->private_data which cannot be NULL
if card is not NULL (spotted by Rene Herman).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:13 +02:00
Andreas Mohr c087444984 ALSA: als4000 - Code clean up
- use specs-derived register name enums instead of open-coded numeric
values, for better understanding of things
- fix naming confusion ("gcr" was _NOT_ the GCR register stuff, but
  instead the io _base_ which has multiplexed _access_ to GCR config
  space, at _sub_ registers 0x08 and 0x0c)
- add FIXME comments about a race condition and MPU401 features

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:11 +02:00
Thomas Bogendoerfer 2470e93c55 sound: oss: remove driver for SGI HAL2 audio device
With the restructering of the indy button handling the old OSS HAL2 driver
got broken.  Since there is a new ALSA driver for HAL2, the experimental
OSS driver is obsolete and will be removed by this patch.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:08 +02:00
Takashi Iwai a62741cf77 ALSA: hda - disable delayed period-ack with bdl_pos_adj=0
When bdl_pos_adj=0 is given, disable the position-check and the delayed
period update mechanism.  Usually bdl_pos_adj=0 is set only for the
debugging purpose on really broken hardwares.  It's better to disable
the extra complexity in such a case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:07 +02:00
Krzysztof Helt ace457c77b ALSA: wss_lib: snd_wss_calibrate_mute improvement
Mute sound by setting mute bit without
setting volume to 0. It makes both source code
and binary shorter.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:06 +02:00
Takashi Iwai 9e44c6e40f ALSA: hda - Add AD1882A codec support
Added the basic support of AD1882A codec chip.
It's almost compatible with AD1882, but with a digital mic and some
differences in connections.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:05 +02:00
Krzysztof Helt 503c10d8a7 ALSA: opl3sa2: drop snd_card pointer from the snd_opl3sa2 structure
Remove card pointer from the snd_opl3sa2
structure and break circular reference
snd_card->snd_opl3sa2->snd_card.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Acked-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:57:03 +02:00
Takashi Iwai 862f76f86d ALSA: hda - set up HDMI channels
Set up channel information for HDMI widgets.  This will allow LPCM
with multiple channels supported on some HDMI devices.

TODO: It still doesn't check ELD and doesn't change PCM parameters
dynamically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:56:14 +02:00
Takashi Iwai c492060675 ALSA: hda - print a few HDMI information in proc
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:56:10 +02:00
Takashi Iwai 955d24881e ALSA: hda - Add definitions of HDMI-related verbs
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25 09:55:50 +02:00
Ilpo Järvinen f329bdd439 mpu401: reindent misindented spinlock
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-19 10:02:53 +02:00
Jaroslav Kysela 1a11cb6427 ALSA: dummy driver - do not use assignment in if condition
checkpatch.pl does not like assignment in if condition

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-15 12:59:02 +02:00
Daniel THOMPSON 54e8e21ed2 sound: Fix esoteric double free in the dummy sound driver.
The dummy driver uses runtime->private_free but still frees
its pcm structures on error paths.

This is esoteric because the error paths in question are
unreachable. Thus the bug is only a problem when someone
copies this code into other drivers.

Signed-off-by: Daniel R Thompson <daniel.thompson@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-15 12:38:14 +02:00
Matthew Ranostay 8daaaa97d6 ALSA: hda: 92HD75xx fixes
Fixed several noise issues with DACs and ADCs on some 92HD75xxx based codecs
with certain revision id's.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-15 11:48:30 +02:00
Matthew Ranostay 4682eee0ed ALSA: hda: dynamically create capture mux controls
Dynamically create capture mux volume controls when a output amp is detected.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-15 11:48:28 +02:00
Takashi Iwai 0072889a55 ALSA: fix a typo during snd_assert() removal
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-15 11:48:04 +02:00
Takashi Iwai 7a9b8063cf ALSA: usb-audio - Add ignore_ctl_error parameter
Added the ignore_ctl_error parameter to enable/disable the control-error
handling for mixer interfaces.  It was a hard-coded ifdef, and now you
can change it more easily.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-15 11:48:01 +02:00
Jaroslav Kysela ba443687f2 ALSA: hda - put all HDA codec IDs to components for precise hw detection
Export HDA codec subvendor ID and revision ID to user space via the
components variable. Our alsactl utility requires these values for
the perfect hardware identification.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 20:55:32 +02:00
Alexander Beregalov a2854dc5f0 ALSA: sound/pci: supported cards update
sound/pci: supported cards update

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:47:05 +02:00
Takashi Iwai db3da6c135 ALSA: hda - initialize node 0x21 properly on AD1988 codecs
The widget node 0x21 should be initialized as unmuted/full (0dB)
as default.  This will reduce additional manual work by user at the
first time use.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:47:02 +02:00
Takashi Iwai 963f803fb1 ALSA: hda - Don't reset SPDIF in each status change
The SPDIF output is toggled at each time any SPDIF status bits are changed
because of the known problems on some codecs.  But, this also results in
loosing the sync, and the problem is more obvious on HDMI output over
SPDIF.  Since the toggle is necessary only for some codecs, we should
check whether this workaround is needed and skip if unnecessary.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:59 +02:00
Alexander Beregalov 6e8d90cd34 ALSA: sound/pci/Kconfig: update for ice1712/24
sound/pci/Kconfig: update for ice1712/24

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:47 +02:00
Alexander Beregalov faa09c932c ALSA: ice1724/revo: simple clean up
ice1724/revo: simple clean up

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:45 +02:00
Takashi Iwai 5e246b850d ALSA: Kill snd_assert() in other places
Kill snd_assert() in other places, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:40 +02:00
Takashi Iwai da3cec35dd ALSA: Kill snd_assert() in sound/pci/*
Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:38 +02:00
Takashi Iwai 622207dc31 ALSA: Kill snd_assert() in sound/isa/*
Kill snd_assert() in sound/isa/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:36 +02:00
Takashi Iwai 7eaa943c8e ALSA: Kill snd_assert() in sound/core/*
Kill snd_assert() in sound/core/*, either removed or replaced with
if () with snd_BUG_ON().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:35 +02:00
Rene Herman 3caf8c080e ALSA: wss_lib: missing closing brace in (ifdeffed out) debug function.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:29 +02:00
roel kluin c534cc8490 ALSA: au88x0: clipping ceiling loop wrong in comment
As is the clipping ceiling loop appears wrong anyways

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:26 +02:00
Timur Tabi 4f3ea08a12 ALSA: ASoC - fix DMA channel selection in Freescale MPC8610 sound drivers
On the Freescale MPC8610, SSI1 is hard-coded to use DMA channels 0 and 1
for playback and capture, and SSI2 is hard-coded to use DMA channels 2 and 3.
This patch fixes the fabric driver so that it uses the right channels.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:22 +02:00
Mark Brown e88ba01544 ALSA: ASoC: Add WM8580 CODEC driver
The WM8580 is an audio CODEC designed for DVD and surround sound
applications, offering three stereo DACs and a stereo ADC.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13 11:46:19 +02:00
Rene Herman c9a7dc2c52 ALSA: wss_lib: rework snd_ad1848_probe()
Make snd_ad1848_probe() easier to follow. With an exception for only
trying once as soon as the codec is out of init (which should be all
that's needed) the detection logic should be unchanged.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:31 +02:00
Takashi Iwai 8f4f4ef6fe ALSA: ac97 - Enable mono-out on ALC203 codec as default
Use pin 37 for mono-out as default on ALC203.

Reported-by: george pee <georgepee@gmail.com>
Tested-by: george pee <georgepee@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:28 +02:00
Phillip Michael Jordan b9c196e145 ALSA: snd_usb_audio: fix SB Extigy IR Remote regression
The support for the SB Extigy's remote seems to be broken in all
recent ALSA versions, including 1.0.17. The driver detects the event
correctly, then submits a URB to query the RC code. On the Extigy, the
URB is submitted with a length of 2 bytes. My hardware, however, only
replies with 1 byte, containing the correct RC button code. The
current implementation discards this as being too short. (line 1784 of
usbmixer.c)

This patch specifies a "minimum packet length" in the remote control
configuration. I've left the values for the Audigy 2/Live! the same as
the packet length, as I'm assuming the existing code works with them.
(I don't have the hardware to confirm) This fixes the Extigy RC
support, e.g. for use with Lirc.

Signed-off-by: Phillip Michael Jordan <phil@philjordan.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:19 +02:00
Mark Brown 0e0e16a87a ALSA: ASoC: Add WM8900 CODEC driver
The WM8900 is designed for portable multimedia applications requiring
low power consumption, high performance audio and a compact form factor
providing:

 - 24 bit stereo ADC and DAC
 - Microphone and line inputs
 - Line outputs
 - Class G headphone amplifier

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:17 +02:00
Mauro Carvalho Chehab 8c65008799 ALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs
Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil
(www.cdibrasil.com.br/) for sponsoring this development.

Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:16 +02:00
Pascal Terjan e8f9ae2a4a ALSA: hda - Fix sound on NEC Versa S9100
This patch adds sound support for NEC Versa S9100
With it, we get sound on the internal speaker and headphone (with
automute working) while there is no sound by default.
External mic also works fine but I don't know if there is an internal
one (if there is an internal mic it does not work currently), and I
had to send back the hardware.

Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:15 +02:00
Rene Herman 6ddfa7432a ALSA: wss_lib: fix AZT2320 probe.
After the transition from cs4321_lib to wss_lib, azt2320 probe visits
snd_ad1848_probe during detection. It expects register 0 (LEFT_INPUT)
to be able to retain the value 0xaa during detection but AZT2320 does
not support MIC gain meaning it reads back as 0x8a instead.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:11 +02:00
Rene Herman ebae22590d ALSA: snd-cs4236: add Techmakers MF-4236PW PnP card ID
Add the Techmakers MF-4236PW (Crystal CX4236B-XQ3) PnP card ID.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:09 +02:00
Krzysztof Helt f1789f451d ALSA: wss_lib: remove second mutexes initialization
Remove initializations of spinlock and mutexes which
are done earlier in snd_wss_new(). The snd_wss_new()
is called from snd_wss_create().

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:06 +02:00
Rene Herman a0d9274cd8 ALSA: wss_lib: opti92x-ad1848 WSS_HW_DETECT fix
snd-opti92x-ad1848 mistakingly passes WSS_HW_OPTI93X currently. This
fixes it as tested with a OPTi 82C929A/AD1848 card.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:05 +02:00
Krzysztof Helt 31eca307fd ALSA: wss_lib: fix opti93x capture formats limitations
Limit opti93x cards capture formats to only linear ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:03 +02:00
Krzysztof Helt 760fc6b838 ALSA: wss_lib: use wss detection code instead of ad1848 one
Use the wss detection code and kill the ad1848 library.
The library is fully assimilated into the new wss library.

This required reworking of the AD1848 family code
so the code is changed to correctly detect chips from
the AD1848 and CS4231 families.

I have tested it on following cards:
Gallant SC-6600 (codec: AD1848, driver: snd-sc6600)
SoundScape VIVO/90 (codec: AD1845, driver: snd-sscape)
SG Waverider (codec: CS4231A, driver: Rene Herman's snd-galaxy)
Opti930 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Opti931 (codec: built-in - CS4231 compatible, driver: snd-opti93x)
Gallant SC-70P (chip/codec: CS4237B, driver: snd-cs4236)
Audio Plus 3D (chip/codec: CMI8330A, driver: snd-cmi8330)
Dell Latitude CP (chip/codec: cs4236, driver snd-cs4232)

Sound playback and recording works on all these cards.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:40:02 +02:00
Krzysztof Helt ead893c0de ALSA: wss_lib: use wss pcm code instead of ad1848 one
Use the wss pcm code and kill the ad1848 pcm code.

The AD1848 chip is much slower than CS4231 chips
so the waiting loop was increased 100x (10x is not
enough).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:56 +02:00
Krzysztof Helt 5664daa1c1 ALSA: wss_lib: use wss mixer code instead of ad1848 one
Use the wss mixer code and kill the ad1848 mixer code.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:55 +02:00
Krzysztof Helt 811585e9d1 ALSA: wss_lib: use CS4231P instead of AD1848P (kill the AD1848P)
Use CS4231P instead of AD1848P (kill the AD1848P).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:53 +02:00
Krzysztof Helt 0c5e3e9822 ALSA: wss_lib: replace ad1848 mixer element macros with wss ones
Use the wss macros instead of ad1848 ones.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:52 +02:00
Krzysztof Helt ece11c9b6d ALSA: wss_lib: use wss constants instead of ad1848 ones
Use wss constants for mode.
Move ad1848 hardware constants to the wss.h.
Move mixer tlv macros into the ad1848_lib.c from the ad1848.h.

Drop the MODE_RUNNING spurious IRQ guard on AD1848 as it doesn not seem
to be needed.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:51 +02:00
Krzysztof Helt 241b3ee70d ALSA: wss_lib: use struct snd_wss instead of snd_ad1848
The snd_wss is superset of the snd_ad1848 so kill
the latter and replace it with the snd_wss.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:50 +02:00
Krzysztof Helt 7779f75f07 ALSA: wss_lib: rename cs4321_foo to wss_foo
Rename functions and structures from the former
cs4321_lib to names more corresponding with the
new name: wss_lib.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:49 +02:00
Krzysztof Helt 61ef19d7e7 ALSA: wss_lib: rename cs4231.h into wss.h
Rename file include/sound/cs4231.h
into include/sound/wss.h

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:47 +02:00
Krzysztof Helt 9295aea1e8 ALSA: wss_lib: move cs4231_lib into wss_lib
Move the file sound/isa/cs423x/cs4231_lib.c
into sound/isa/cs423x/wss_lib.c
This is the first step toward merging all libraries
for Windows Sound System compatible chips
into a single library.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reviewed-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-06 15:39:46 +02:00
Misha Zhilin 740dc9c476 ALSA: ice1724 - Support for Terrasoniq/MUSONIK TS22 PCI card
Added support for Terrasoniq/MUSONIK TS22 PCI card.

Signed-off-by: Misha Zhilin <misha@epiphan.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-01 13:37:16 +02:00
Pawel MOLL f90c06a2b6 ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.

Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices.

Additionally the device field of struct snd_pcm had to be changed to int,
as its "unsignednity" caused a lot of problems when comparing it to
potentially negative signed values. (-1 is 0xffffffff or even more then ;-)

Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-01 13:37:15 +02:00
Karsten Wiese 030a07e441 ALSA: Add USB US122L driver
Added a new US122L usb-audio driver.  This driver works together with a
dedicated alsa-lib plugin.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-01 13:37:12 +02:00
Jaroslav Kysela 896e6cc20e sound: Revert "ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE"
This reverts commit fb3d6f2b77bdec75d45aa9d4464287ed87927866.

New, updated patch with same subject replaces this commit.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-01 13:36:04 +02:00
Pawel MOLL 9423969005 ALSA: Fix limit of 8 PCM devices in SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE
When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
to have more than 8 PCM devices per card, except one place - the
SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
devices > 7. This patch fixes the issue, changing the devices list
organisation.

Instead of adding new device to the tail, the list is now kept always
ordered (by card number, then device number). Thus, during enumeration,
it is easy to discover the fact that there is no more given card's
devices. The same limit was present in OSS emulation code. It has
been fixed as well.

Additionally the device field of struct snd_pcm is now int, instead of
unsigned int, as there is no obvious reason for keeping it unsigned.
This caused a lot of problems with comparing this value with other
(almost always signed) variables. There is just one more place where
device number is unsigned - in struct snd_pcm_info, which should be
also sorted out in future.

Signed-off-by: Pawel MOLL <pawel.moll@st.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:48 +02:00
Jon Smirl 815ecf8dec ALSA: ASoC: convert use of uint to unsigned int
ASOC: convert use of uint to unsigned int

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:29 +02:00
Mark Brown 0c94161580 ALSA: ASoC: Add all CODECs Kconfig option
Allow all the CODEC drivers to be built without a machine driver in order
to facilitate testing of subsystem-wide changes and gain better coverage
from automated testing efforts. This also helps things like the generic
OpenFirmware machine driver for PowerPC.

Currently AC97 CODECs are not included since the current setup relies
on having a controller driver available.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:28 +02:00
Cliff Cai 5f57dc8b2a ALSA: ASoC: AD1980 audio codec driver
[Mechanical updates from code review applied -- broonie]

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:27 +02:00
Mark Brown 9cce39a1ba ALSA: ASoC: Staticise keyclick dev_attr in tlv320aic26
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:26 +02:00
Mark Brown ecb0b3f627 ALSA: ASoC: Export DAI and codec for TLV320AIC26
This fixes sparse warnings and allows non-OpenFirmware systems to attempt
to bind to the device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:25 +02:00
Grant Likely d8e3bb7385 ALSA: ASoC: Add Texas Instruments TLV320AIC26 codec driver
ASoC Codec driver for the TLV320AIC26 device.  As it stands, this driver
doesn't support all the modes and clocking options of the AIC16, but it
is a start.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:24 +02:00
Grant Likely dc641378b5 ALSA: ASoC: Add mpc5200-psc I2S driver
This is an I2S bus driver for the MPC5200 PSC device.  It depends on the
soc-of helper functions to match a PSC device with a codec based on data
in the device tree.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:23 +02:00
Grant Likely 84bc278b1f ALSA: ASoC: Add OpenFirmware helper for matching bus and codec drivers
Simple utility layer for creating ASoC machine instances based on data
in the OpenFirmware device tree.  OF aware platform drivers and codec
drivers register themselves with this framework and the framework
automatically instantiates a machine driver.  At the moment, the driver
is not very capable and it is expected to be extended as more features
are needed for specifying the configuration in the device tree.

This is most likely temporary glue code to work around limitations in
the ASoC v1 framework.  When v2 is merged, most of this driver will
need to be reworked.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:20 +02:00
Jon Smirl f8ba0b7bfd ALSA: ASoC: Rename mask to max to reflect usage
Most of the ASoC controls refer to the maximum value that can be set for
a control as mask but there is no actual requirement for all bits to be
set at the highest possible value making the name mask misleading.
Change the code to use max instead.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:18 +02:00
Jon Smirl 4eaa9819dc ALSA: ASoC: Convert bitfields in ASoC into full int width
Convert bitfields in ASoC into full int width. This is a
simple mechanical conversion. Two places in the DAPM code
were fixed to properly use mask.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:16 +02:00
Mark Brown 58cd33c0f3 ALSA: ASoC: Allow codecs to override register display
Some codecs have unusual features in their register maps such as very
large registers representing arrays of coefficients. Support these
codecs in the register cache sysfs file by allowing them to provide a
function register_display() overriding the default output for register
contents.

Also ensure that we don't overflow PAGE_SIZE while writing out the
register dump.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:15 +02:00
Dmitry Baryshkov 8a33de9e51 ALSA: ASoC: Permit simultaneous compilation of both PXA AC97 drivers
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:14 +02:00
Takashi Iwai f6154d6d00 ALSA: hda - use input_free_device()
Use input_free_devce() correctly instead of kfree() at error path.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:08 +02:00
Mark Brown 0d94e41abe ALSA: Build jack detection
Since jack detection requires the input subsystem which may not be
desired on small systems it is not built unless required by a driver
that is being built. Drivers using jack detection should use a pattern
like this:

config SND_FOO
        tristate "..."
        ...
        select SND_JACK if INPUT=y || INPUT=SND

to ensure that the jack detection API is enabled if the input subsystem
is.  If the input subsystem is not enabled then a stub version of the
API is provided.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:06 +02:00
Mark Brown e76d8ceaaf ALSA: Add jack reporting API
Currently very few systems provide information about jack status to user
space, even though many have hardware facilities to do detection. Those
systems that do use an input device with the existing SW_HEADPHONE_INSERT
switch type to do so, often independently of ALSA.

This patch introduces a standard method for representing jacks to user
space into ALSA. It allows drivers to register jacks for a sound card with
the input subsystem, binding the input device to the card to help user
space associate the input devices with their sound cards. The created
input devices are named in the form "card longname jack" where jack is
provided by the driver when allocating a jack. By default the parent for
the input device is the sound card but this can be overridden by the
card driver.

The existing user space API with SW_HEADPHONE_INSERT is preserved.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-29 21:32:03 +02:00
Jaroslav Kysela 0b18cb1854 ALSA: Fix commit: Add automatic model setting for the Acer Aspire 5920G laptop
There is a whitespace at the end of added line. Remove it.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-28 17:07:07 +02:00
Matthew Ranostay d0513fc6c3 ALSA: hda: added 92HD81/83 support
Added support for 92HD81/83 family of codecs.
This also includes a pwr_mapping array for pins that have more than
one amp to power down.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-28 12:19:33 +02:00
Clemens Ladisch b38addb2da ALSA: usb-audio: add BOSS GT-10 support
Add a quirk entry for the BOSS GT-10.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2008-07-28 10:19:39 +02:00
Matthew Ranostay 1cd2224cd0 ALSA: hda: digital pc-beep support hd-audio codecs
Added digital pc-beep support using linear tone generation for hd-codecs along
with initial support for several IDT codecs.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-20 19:17:49 +02:00
Rene Herman 68c072388d ALSA: re-order AC97 codec ID table.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-20 19:17:17 +02:00
Takashi Iwai 591d8a25c7 Merge branch 'asoc-fixes' into for-linus 2008-10-02 12:50:50 +02:00
Risto Suominen 030b655b06 ALSA: snd-powermac: HP detection for 1st iMac G3 SL
Correct headphone detection for 1st generation iMac G3 Slot-loading (Screamer).

This patch fixes the regression in the recent snd-powermac which
doesn't support some G3/G4 PowerMacs:
    http://lkml.org/lkml/2008/10/1/220

Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Tested-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-02 12:50:37 +02:00
Risto Suominen 4dbf95ba6c ALSA: snd-powermac: mixers for PowerMac G4 AGP
Add mixer controls for PowerMac G4 AGP (Screamer).

This patch fixes the regression in the recent snd-powermac which
doesn't support some G3/G4 PowerMacs:
    http://lkml.org/lkml/2008/10/1/220

Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Tested-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-02 12:50:04 +02:00
Rob Sims 4037314afc ASoC: Set correct name for WM8753 rec mixer output
Rob Sims wrote:

"I can't seem to turn on register 0x17, bit 3 in the sound chip, except
by codec_reg_write; the mixer lacks direct or indirect control.  It
seems there are two names for the output of the rec mixer:
Capture ST Mixer
Playback Mixer

Would the following do the trick?"

I confirm that this solves the audio problems I was having.

Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-02 12:27:43 +02:00
Takashi Iwai 24918b61b5 ALSA: hda - Fix model for Dell Inspiron 1525
Dell Inspiron 1525 seems to have a buggy BIOS setup and screws up
the recent codec parser, as reported by Oleksandr Natalenko:
    http://lkml.org/lkml/2008/9/12/203

This patch adds the working model, dell-3stack, statically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: <stable@kernel.org>
2008-09-30 13:04:59 +02:00
Jean Delvare e3145dfb7b ALSA: ASoC: Fix cs4270 error path
The error path in cs4270_probe/cs4270_remove is pretty broken:
* If cs4270_probe fails, codec is leaked.
* If snd_soc_register_card fails, cs4270_i2c_driver stays registered.
* If I2C support is enabled but no I2C device is found, i2c_del_driver
  is never called (neither in cs4270_probe nor in cs4270_remove.

Fix all 3 problems by implementing a clean error path in cs4270_probe
and jumping to its labels as needed.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-30 12:47:12 +02:00
Jean Delvare 9778e9a0ea ALSA: ASoC: Fix another cs4270 error path
Conversion to new-style i2c driver missed the error path of the
probe function. Fix it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-29 12:53:24 +02:00
Timur Tabi ec2cd95f34 ALSA: make the CS4270 driver a new-style I2C driver
Update the CS4270 ALSA device driver to use the new-style I2C interface.
Starting with the 2.6.27 PowerPC kernel, I2C devices that have entries in the
device trees can no longer be probed by old-style I2C drivers.  The device
tree for Freescale MPC8610 HPCD has included an entry for the CS4270 since
2.6.25, but that entry was previously ignored by the PowerPC I2C subsystem.
Since that's no longer the case, the best solution is to update the CS4270
driver to a new-style interface, rather than try to revert the behavior of
new PowerPC I2C subsystem.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-29 12:53:18 +02:00
Takashi Iwai 24e8fc498e ALSA: remove unneeded power_mutex lock in snd_pcm_drop
The power_mutex lock in snd_pcm_drop may cause a possible deadlock
chain, and above all, it's unneeded.  Let's get rid of it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-25 17:52:07 +02:00
Takashi Iwai 399ccdc1cd ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*()
The PCM and rawmidi open callbacks have a lock against card->controls_list
but it takes a wrong one, card->controls_rwsem, instead of a right one
card->ctl_files_rwlock.  This patch fixes them.

This change also fixes automatically the potential deadlocks due to
mm->mmap_sem in munmap and copy_from/to_user, reported by Sitsofe
Wheeler:

  A: snd_ctl_elem_user_tlv(): card->controls_rwsem => mm->mmap_sem
  B: snd_pcm_open(): card->open_mutex => card->controls_rwsem
  C: munmap: mm->mmap_sem => snd_pcm_release(): card->open_mutex

The patch breaks the chain.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-25 14:51:03 +02:00
Haavard Skinnemoen b1132b3d87 ALSA: ASoC: Fix at32-pcm build breakage with PM enabled
s/PDC_PTCR/ATMEL_PDC_PTCR/

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-22 12:14:28 +02:00
Takashi Iwai 8a656496b2 Fix CONFIG_AC97_BUS dependency
CONFIG_AC97_BUS is used from both sound and ucb1400 drivers.
The recent change in Kconfig introduced the exclusive dependency on
CONFIG_SOUND, and disabled the ucb1400 build without sound.
This patch makes CONFIG_AC97_BUS independent.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tested-by: Randy Dunlap <randy.dunlap@oracle.com>
2008-09-06 11:43:41 +02:00
Takashi Iwai ee979a143c ALSA: hda - Add mic-boost controls to ALC662/663 auto configuration
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-02 17:25:35 +02:00
Takashi Iwai 24fb917381 ALSA: hda - Fix ALC663 auto-probe
Fix the wrong DAC assignment for NID 0x17 mono-pin on ALC663.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-02 17:25:33 +02:00
Dmitry Baryshkov 6e5ea7015c ALSA: ASoC: fix pxa2xx-i2s clk_get call
pxa2xx-i2s: probe actual device and use it for clk_get call
thus fixing error during startup hook

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-01 08:34:46 +02:00
Matthew Ranostay 20f5f95ded ALSA: hda: Distortion fix for dell_m6_core_init
Added the EQ distortion fix to the dell_m6_core_init.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-09-01 08:17:56 +02:00
Clemens Ladisch df91bc23dc ALSA: oxygen: fix distorted output on AK4396-based cards
When changing the sample rate, the CMI8788's master clock output becomes
unstable for a short time.  The AK4396 needs the master clock to do SPI
writes, so writing to an AK4396 control register directly after a sample
rate change will garble the value.  In our case, this leads to the DACs
being misconfigured to I2S sample format, which results in a wrong
output level and horrible distortions on samples louder than -6 dB.

To fix this, we need to wait until the new master clock signal has
become stable before doing SPI writes.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-29 14:15:19 +02:00
Takashi Iwai 93a1a5eb70 Revert "ALSA: hda - Added model selection for iMac 24""
This reverts commit 3e0e469fa2.

The patch introduced a wrong detection of other intel Macs with
ALC88* codec because they share the same PCI SSID (but have different
codec subsystem-IDs).  See http://lkml.org/lkml/2008/8/24/143

Reported-and-tested-by: Guillaume Chazarain <guichaz@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-27 08:02:49 +02:00
Jarkko Nikula e784539fe8 ALSA: ASoC: Fix error paths in N810 machine driver init and release clocks at exit
Thanks to Felipe Balbi <felipe.balbi@nokia.com> by noticing that if clk_get
to sys_clkout2_src fails, then n810_snd_device is never released.

Add also sys_clkout2_src release into error path, error code return and
release the clocks at exit.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-26 12:44:03 +02:00
Clemens Ladisch 3d839e5b87 ALSA: oxygen: prevent muting of nonexistent AC97 controls
The Xonar DX does not have CD Capture controls, so we have to check that
a control actually exists before muting it.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-26 12:43:13 +02:00
Stephen Rothwell e5778ec91e ALSA: fix for CA0106 on MSI K8N Diamond PLUS Motherboard
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-08-25 17:47:42 -07:00
Linus Torvalds b9b50363e6 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: ASoC: Fix double free and memory leak in many codec drivers
  ALSA: CA0106 on MSI K8N Diamond PLUS Motherboard
2008-08-25 11:24:51 -07:00
Jean Delvare 3051e41ab7 ALSA: ASoC: Fix double free and memory leak in many codec drivers
Many SoC audio codec drivers have improper freeing of memory in error
paths.

* codec is allocated in the platform device probe function, but is not
  freed there in case of error. Instead it is freed in the i2c device
  probe function's error path. However the success or failure of both
  functions is not linked, so this could result in a double free (if
  the platform device is successfully probed, the i2c device probing
  fails and then the platform driver is unregistered.)

* codec->private_data is allocated in many platform device probe
  functions but not freed in their error paths.

This patch hopefully solves all these problems.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-25 13:49:52 +02:00