kernel-fxtec-pro1x/sound/soc
Mika Westerberg 0562f7882d ASoC: don't register AC97 devices twice
With generic AC97 ASoC glue driver (codec/ac97.c), we get following warning when
the device is registered (slightly stripped the backtrace):

kobject (c5a863e8): tried to init an initialized object, something is seriously
                    wrong.
[<c00254fc>] (unwind_backtrace+0x0/0xec)
[<c014fad0>] (kobject_init+0x38/0x70)
[<c0171e94>] (device_initialize+0x20/0x70)
[<c017267c>] (device_register+0xc/0x18)
[<bf20db70>] (snd_soc_instantiate_cards+0x924/0xacc [snd_soc_core])
[<bf20e0d0>] (snd_soc_register_platform+0x16c/0x198 [snd_soc_core])
[<c0175304>] (platform_drv_probe+0x18/0x1c)
[<c0174454>] (driver_probe_device+0xb0/0x16c)
[<c017456c>] (__driver_attach+0x5c/0x7c)
[<c0173cec>] (bus_for_each_dev+0x48/0x78)
[<c0173600>] (bus_add_driver+0x98/0x214)
[<c0174834>] (driver_register+0xa4/0x130)
[<c001f410>] (do_one_initcall+0xd0/0x1a4)
[<c0062ddc>] (sys_init_module+0x12b0/0x1454)

This happens because the generic AC97 glue driver creates its codec->ac97 via
calling snd_ac97_mixer(). snd_ac97_mixer() provides own version of
snd_device.register which handles the device registration when
snd_card_register() is called.

To avoid registering the AC97 device twice, we add a new flag to the
snd_soc_codec: ac97_created which tells whether the AC97 device was created by
SoC subsystem.

Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-10-13 10:35:17 +01:00
..
atmel ASoC: Add simplfied device registration for Atmel SSC devices 2010-08-18 16:53:22 +01:00
au1x ASoC: fix au1x platform 2010-08-31 13:06:31 +01:00
blackfin Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.37 2010-08-15 14:56:40 +01:00
codecs ASoC: ac97: don't call snd_soc_new_ac97_codec at probe 2010-10-13 10:35:05 +01:00
davinci ALSA: ASoc: DaVinci Delay start of ASP to trigger 2010-10-04 17:55:17 -07:00
ep93xx ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
fsl ASoC: pl022_ds.c: Add of_node_put to avoid memory leak 2010-09-02 16:28:49 +01:00
imx ASoC: Remove -dai suffix from i.MX SSI driver 2010-10-01 00:13:28 -07:00
jz4740 ASoC: Multi-component: JZ4740: QI_LB60 board fixes 2010-08-17 12:10:30 +01:00
kirkwood ASoC: Change my mail address 2010-09-15 12:03:58 +01:00
nuc900 ASoC: remove duplicated include for nuc900 2010-10-05 19:26:00 -07:00
omap OMAP: McBSP: Fix static function warning 2010-09-08 12:14:02 +01:00
pxa ASoC: pxa-ssp: fix a memory leak in pxa_ssp_remove() 2010-08-25 14:20:15 +01:00
s3c24xx ASoC: Add debug logging for s3c-ac97 resets 2010-09-24 10:41:02 +01:00
s6000 ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
sh ASoC: Add fsi_is_play function 2010-10-12 11:03:14 +01:00
txx9 ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
Kconfig ASoC: Fix sorting of Makefile and Kconfig 2010-07-05 23:35:29 +09:00
Makefile ASoC: Fix sorting of Makefile and Kconfig 2010-07-05 23:35:29 +09:00
soc-cache.c ASoC: soc-cache: Add spi_write support for all I/O types 2010-10-05 09:56:34 -07:00
soc-core.c ASoC: don't register AC97 devices twice 2010-10-13 10:35:17 +01:00
soc-dapm.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
soc-jack.c ASoC: Use delayed work for debounce of GPIO based jacks 2010-10-07 12:58:56 -07:00
soc-utils.c ASoC: Add BCLK calculation utility for TDM mode too 2009-11-25 19:55:46 +00:00