linux/sound/soc/codecs
Timur Tabi 04eb093c7c ASoC: fix initialization order of the CS4270 codec driver
ASoC codec drivers typically serve two masters: the I2C bus and ASoC itself.
When a codec driver registers with ASoC, a probe function is called.  Most
codec drivers call ASoC first, and then register with the I2C bus in the ASoC
probe function.

However, in order to support multiple codecs on one board, it's easier if the
codec driver is probed via the I2C bus first.  This is because the call to
i2c_add_driver() can result in the I2C probe function being called multiple
times - once for each codec.  In the current design, the driver registers
once with ASoC, and in the ASoC probe function, it calls i2c_add_driver().
The results in the I2C probe function being called multiple times before the
driver can register with ASoC again.

The new design has the driver call i2c_add_driver() first.  In the I2C probe
function, the driver registers with ASoC.  This allows the ASoC probe function
to be called once per I2C device.

Also add code to check if the I2C probe function is called more than once,
since that is not supported with the current ASoC design.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-01-30 11:58:50 +00:00
..
ac97.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
ac97.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
ad1980.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
ad1980.h ALSA: ASoC codec: fix compiling error in ad1980 driver after ASoC API changed 2008-09-09 09:10:54 +02:00
ad73311.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
ad73311.h ALSA: ASoC codec: AD73311 audio codec driver 2008-10-13 02:16:12 +02:00
ak4535.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
ak4535.h ALSA: ASoC: Convert ak4535 to a new-style i2c driver 2008-09-04 10:34:21 +02:00
cs4270.c ASoC: fix initialization order of the CS4270 codec driver 2009-01-30 11:58:50 +00:00
cs4270.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
Kconfig ASoC: Fix L3 bus handling in Kconfig 2009-01-23 15:37:26 +00:00
l3.c ASoC: UDA134x codec driver 2008-11-17 11:45:39 +00:00
Makefile ASoC: Driver for the WM9705 AC97 codec. 2009-01-16 16:40:25 +00:00
pcm3008.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
pcm3008.h ASoC: Add PCM3008 ALSA SoC driver 2008-11-19 13:16:38 +00:00
ssm2602.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
ssm2602.h sound: ASoC codec: SSM2602 audio codec driver 2008-09-09 09:11:15 +02:00
tlv320aic3x.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
tlv320aic3x.h ALSA: ASoC: tlv320aic3x add dsp_a 2008-12-20 13:05:38 +00:00
tlv320aic23.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
tlv320aic23.h ALSA: ASoC: Add TLV320AIC23 codec driver 2008-10-13 02:16:48 +02:00
tlv320aic26.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
tlv320aic26.h ALSA: ASoC: Export DAI and codec for TLV320AIC26 2008-07-29 21:32:25 +02:00
twl4030.c ASoC: TWL4030: Add analog loopback support 2009-01-29 13:58:04 +00:00
twl4030.h ASoC: TWL4030: Add analog loopback support 2009-01-29 13:58:04 +00:00
uda134x.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
uda134x.h ASoC: Move uda134x_codec.h to uda134x.h 2008-11-18 12:32:33 +00:00
uda1380.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
uda1380.h ALSA: ASoC: Convert uda1380 to a new-style i2c driver 2008-09-04 10:34:20 +02:00
wm8350.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8350.h ASoC: Implement WM8350 headphone jack detection 2009-01-09 10:31:32 +00:00
wm8510.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8510.h ALSA: ASoC: Add WM8510 SPI support 2008-10-13 02:17:15 +02:00
wm8580.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8580.h ALSA: ASoC: Convert wm8580 to a new-style i2c driver 2008-10-16 08:50:17 +02:00
wm8728.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8728.h ASoC: Add WM8728 codec driver 2008-11-14 14:44:53 +00:00
wm8731.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8731.h ALSA: ASoC: Add SPI support for WM8731 2008-09-04 10:34:27 +02:00
wm8750.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8750.h sound: ASoC: Add WM8750 SPI support 2008-09-23 08:18:19 +02:00
wm8753.c Merge branch 'for-2.6.29' into for-2.6.30 2009-01-29 13:57:59 +00:00
wm8753.h ALSA: ASoC: update email address for Liam Girdwood 2008-10-13 02:26:42 +02:00
wm8900.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8900.h ASoC: Convert WM8900 to do more work at I2C probe time 2008-12-10 19:47:40 +00:00
wm8903.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8903.h ASoC: Convert WM8903 driver to register at I2C probe time 2008-12-10 19:47:44 +00:00
wm8971.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8971.h sound: ASoC: Add WM8971 CODEC driver 2008-09-23 08:18:05 +02:00
wm8990.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm8990.h ASoC: Enable WM8990 ADC clocking workaround 2008-11-17 17:24:54 +00:00
wm9705.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm9705.h ASoC: Driver for the WM9705 AC97 codec. 2009-01-16 16:40:25 +00:00
wm9712.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm9712.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00
wm9713.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
wm9713.h ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai. 2008-07-10 09:32:39 +02:00