android_kernel_xiaomi_sdm845/sound
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
..
aoa ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
arm ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
core ALSA: Introduce snd_card_create() 2009-01-12 14:56:41 +01:00
drivers ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
i2c V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl. 2009-01-02 17:11:34 -02:00
isa ALSA: opti9xx - Fix build breakage by snd_card_create() conversion 2009-01-14 09:34:06 +01:00
mips ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
oss m68k: dmasound - Kill warn_unused_result warnings 2009-01-12 20:56:42 +01:00
parisc ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
pci Merge branch 'topic/snd_card_new-err' into topic/asoc 2009-01-28 08:08:32 +01:00
pcmcia ALSA: Return proper error code at probe in sound/pcmcia/* 2009-01-12 15:21:56 +01:00
ppc ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
sh ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
soc ASoC: fix initialization order of the CS4270 codec driver 2009-01-30 11:58:50 +00:00
sparc ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
spi ALSA: Convert to snd_card_create() in other sound/* 2009-01-12 15:21:19 +01:00
synth ALSA: Kill snd_assert() in other places 2008-08-13 11:46:40 +02:00
usb Merge branch 'topic/snd_card_new-err' into topic/asoc 2009-01-28 08:08:32 +01:00
ac97_bus.c ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declaration 2008-12-02 16:25:37 +01:00
Kconfig Fix CONFIG_AC97_BUS dependency 2008-09-06 11:43:41 +02:00
last.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
Makefile [ALSA] Add SPI devices to ALSA Kconfig and Makefile 2007-10-16 15:57:47 +02:00
sound_core.c ALSA: Fix declaration of sound_class 2008-12-15 16:55:27 +01:00
sound_firmware.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00