linux/sound/soc
Philipp Zabel a8b22c1ccc ASoC: imx-sgtl5000: do not use devres on a foreign device
Calling devm_clk_get with any device pointer other than our own confuses
devres. Use clk_get instead. This avoids hitting the following warning in
the imx-sgtl5000 error path:

imx-sgtl5000 sound.12: snd_soc_register_card failed (-517)
platform sound.12: Driver imx-sgtl5000 requests probe deferral
------------[ cut here ]------------
WARNING: CPU: 0 PID: 75 at drivers/base/dd.c:272 driver_probe_device+0x194/0x218()
Modules linked in: snd_soc_sgtl5000(+) snd_soc_imx_sgtl5000 coda snd_soc_imx_audmux imx_sdma snd_soc_fsl_spdif snd_soc_fsl_ssi
CPU: 0 PID: 75 Comm: udevd Not tainted 3.11.0-rc6+ #4682
Backtrace:
[<80010bc4>] (dump_backtrace+0x0/0x10c) from [<80010d60>] (show_stack+0x18/0x1c)
 r6:00000110 r5:00000009 r4:00000000 r3:00000000
[<80010d48>] (show_stack+0x0/0x1c) from [<804f0764>] (dump_stack+0x20/0x28)
[<804f0744>] (dump_stack+0x0/0x28) from [<8001a4a4>] (warn_slowpath_common+0x6c/0x8c)
[<8001a438>] (warn_slowpath_common+0x0/0x8c) from [<8001a4e8>] (warn_slowpath_null+0x24/0x2c)
 r8:7f032000 r7:7f02f93c r6:cf8eaa54 r5:cf8eaa20 r4:80728a0c
[<8001a4c4>] (warn_slowpath_null+0x0/0x2c) from [<80286bdc>] (driver_probe_device+0x194/0x218)
[<80286a48>] (driver_probe_device+0x0/0x218) from [<80286cf4>] (__driver_attach+0x94/0x98)
 r7:00000000 r6:cf8eaa54 r5:7f02f93c r4:cf8eaa20
[<80286c60>] (__driver_attach+0x0/0x98) from [<802851c8>] (bus_for_each_dev+0x5c/0x90)
 r6:80286c60 r5:7f02f93c r4:00000000 r3:cf8ef03c
[<8028516c>] (bus_for_each_dev+0x0/0x90) from [<80286654>] (driver_attach+0x24/0x28)
 r6:806d0424 r5:cf16a580 r4:7f02f93c
[<80286630>] (driver_attach+0x0/0x28) from [<802861e4>] (bus_add_driver+0xdc/0x234)
[<80286108>] (bus_add_driver+0x0/0x234) from [<802871d4>] (driver_register+0x80/0x154)
 r8:7f032000 r7:00000001 r6:7f02fa68 r5:7f02fa74 r4:7f02f93c
[<80287154>] (driver_register+0x0/0x154) from [<8033c278>] (i2c_register_driver+0x34/0xbc)
[<8033c244>] (i2c_register_driver+0x0/0xbc) from [<7f032018>] (sgtl5000_i2c_driver_init+0x18/0x24 [snd_soc_sgtl5000])
 r5:7f02fa74 r4:cfb7ff48
[<7f032000>] (sgtl5000_i2c_driver_init+0x0/0x24 [snd_soc_sgtl5000]) from [<80008738>] (do_one_initcall+0xf4/0x150)
[<80008644>] (do_one_initcall+0x0/0x150) from [<80053f64>] (load_module+0x174c/0x1db4)
[<80052818>] (load_module+0x0/0x1db4) from [<800546ac>] (SyS_init_module+0xe0/0xf4)
[<800545cc>] (SyS_init_module+0x0/0xf4) from [<8000e540>] (ret_fast_syscall+0x0/0x30)
 r6:00005b22 r5:00afed68 r4:00000000
---[ end trace b24c5c3bb145dbdd ]---

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-26 12:01:17 +01:00
..
atmel ASoC: atmel: disable error interrupt 2013-09-04 10:47:27 +01:00
au1x Merge remote-tracking branch 'asoc/topic/au1x' into asoc-next 2013-08-22 14:28:29 +01:00
blackfin ASoC: bf5xx-ac97: Remove unused extern declaration 2013-07-30 13:01:09 +01:00
cirrus Merge remote-tracking branch 'asoc/topic/ep93xx' into tmp 2013-08-30 11:04:21 +01:00
codecs Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
davinci sound updates for 3.11 2013-07-03 19:52:22 -07:00
dwc ASoC: designware_i2s: Remove unnecessary dev_set_drvdata() 2013-08-29 13:18:32 +01:00
fsl ASoC: imx-sgtl5000: do not use devres on a foreign device 2013-09-26 12:01:17 +01:00
generic ASoC: simple-card: Provide owner and MODULE_ALIAS() 2013-08-23 19:04:20 +01:00
jz4740
kirkwood ASoC: kirkwood: change the compatible string of the kirkwood-i2s driver 2013-09-06 10:29:58 +01:00
mid-x86 ASoC: mfld: Remove unused variable 2013-06-28 10:59:14 +01:00
mxs Merge remote-tracking branch 'asoc/topic/fsl' into tmp 2013-09-01 21:15:52 +01:00
nuc900 ASoC: nuc900: don't check resource with devm_ioremap_resource 2013-07-24 15:34:16 +01:00
omap ASoC: Updates for v3.12 2013-08-23 14:12:22 +02:00
pxa ASoC: pxa: Remove duplicate inclusion of dmaengine.h 2013-08-22 10:43:49 +01:00
s6000 ASoC: s6105-ipcam: Fix incorrect placement of __initdata 2013-08-08 14:27:59 +01:00
samsung Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
sh ASoC: rsnd: fixup flag name of rsnd_scu_platform_info 2013-09-09 16:06:20 +01:00
spear ALSA: move dmaengine implementation from ASoC to ALSA core 2013-08-15 11:18:09 +01:00
tegra Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next 2013-08-22 14:28:52 +01:00
txx9 ASoC: txx9: don't check resource with devm_ioremap_resource 2013-07-24 15:37:48 +01:00
ux500 ASoC: mop500: add .owner to struct snd_soc_card 2013-07-15 11:12:24 +01:00
Kconfig ALSA: move dmaengine implementation from ASoC to ALSA core 2013-08-15 11:18:09 +01:00
Makefile ALSA: move dmaengine implementation from ASoC to ALSA core 2013-08-15 11:18:09 +01:00
soc-cache.c
soc-compress.c ASoC: compress: Use power efficient workqueue 2013-08-12 11:04:54 +01:00
soc-core.c Merge remote-tracking branch 'asoc/topic/core' into tmp 2013-08-30 11:04:14 +01:00
soc-dapm.c Merge remote-tracking branch 'asoc/topic/dapm' into tmp 2013-09-01 21:15:50 +01:00
soc-generic-dmaengine-pcm.c
soc-io.c PTR_RET is now PTR_ERR_OR_ZERO(): Replace most. 2013-07-15 11:25:01 +09:30
soc-jack.c ASoC: jack: Remove unnecessary call to snd_soc_dapm_new_widgets() 2013-08-27 15:37:33 +01:00
soc-pcm.c Merge remote-tracking branch 'asoc/topic/fsl' into tmp 2013-09-01 21:15:52 +01:00
soc-utils.c