summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-core.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-02-13 14:02:08 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-02-13 14:02:08 +0000
commitc85e5a4161b4768599deaee7a5df3ded9c34ea3b (patch)
treed7e477802d7a55f766198d3388ada738166e0ad7 /sound/soc/soc-core.c
parentd5e9ba1d58b6da1c58a91113fc350ece97ec5a0b (diff)
parent14fa43f53ff3a9c3d8b9662574b7369812a31a97 (diff)
Merge branch 'for-2.6.29' into for-2.6.30
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r--sound/soc/soc-core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 580a1a534ad..d4b90d82a09 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1382,7 +1382,10 @@ int snd_soc_init_card(struct snd_soc_device *socdev)
mutex_lock(&codec->mutex);
#ifdef CONFIG_SND_SOC_AC97_BUS
- if (ac97) {
+ /* Only instantiate AC97 if not already done by the adaptor
+ * for the generic AC97 subsystem.
+ */
+ if (ac97 && strcmp(codec->name, "AC97") != 0) {
ret = soc_ac97_dev_register(codec);
if (ret < 0) {
printk(KERN_ERR "asoc: AC97 device register failed\n");