Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14fa43f5 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Only register AC97 bus if it's not done already



ASoC supports both explicit codec drivers for AC97 devices and a simple
driver which uses the standard ALSA AC97 framework for codec support.
When used with the generic AC97 codec support that will provide the
ad hoc AC97 device for drivers like touchscreens to attach to so the
core shouldn't do so.

Reported-by: default avatarManuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 272edb00
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1385,7 +1385,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");