|
@@ -1385,7 +1385,10 @@ int snd_soc_init_card(struct snd_soc_device *socdev)
|
|
|
|
|
|
mutex_lock(&codec->mutex);
|
|
mutex_lock(&codec->mutex);
|
|
#ifdef CONFIG_SND_SOC_AC97_BUS
|
|
#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);
|
|
ret = soc_ac97_dev_register(codec);
|
|
if (ret < 0) {
|
|
if (ret < 0) {
|
|
printk(KERN_ERR "asoc: AC97 device register failed\n");
|
|
printk(KERN_ERR "asoc: AC97 device register failed\n");
|