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

Commit 14da04b5 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Takashi Iwai
Browse files

ALSA: fm801: no need to suspend absent codec



In case of tuner only card there is no need to take care of the codec which is
anyway absent.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent b56fa687
Loading
Loading
Loading
Loading
+12 −6
Original line number Original line Diff line number Diff line
@@ -1393,12 +1393,17 @@ static int snd_fm801_suspend(struct device *dev)
	int i;
	int i;


	snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
	snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);

	if (chip->tea575x_tuner & TUNER_ONLY) {
		/* FIXME: tea575x suspend */
	} else {
		snd_pcm_suspend_all(chip->pcm);
		snd_pcm_suspend_all(chip->pcm);
		snd_ac97_suspend(chip->ac97);
		snd_ac97_suspend(chip->ac97);
		snd_ac97_suspend(chip->ac97_sec);
		snd_ac97_suspend(chip->ac97_sec);
	}

	for (i = 0; i < ARRAY_SIZE(saved_regs); i++)
	for (i = 0; i < ARRAY_SIZE(saved_regs); i++)
		chip->saved_regs[i] = fm801_ioread16(chip, saved_regs[i]);
		chip->saved_regs[i] = fm801_ioread16(chip, saved_regs[i]);
	/* FIXME: tea575x suspend */
	return 0;
	return 0;
}
}


@@ -1414,9 +1419,10 @@ static int snd_fm801_resume(struct device *dev)
		reset_codec(chip);
		reset_codec(chip);
		snd_fm801_chip_multichannel_init(chip);
		snd_fm801_chip_multichannel_init(chip);
		snd_fm801_chip_init(chip);
		snd_fm801_chip_init(chip);
	}
		snd_ac97_resume(chip->ac97);
		snd_ac97_resume(chip->ac97);
		snd_ac97_resume(chip->ac97_sec);
		snd_ac97_resume(chip->ac97_sec);
	}

	for (i = 0; i < ARRAY_SIZE(saved_regs); i++)
	for (i = 0; i < ARRAY_SIZE(saved_regs); i++)
		fm801_iowrite16(chip, saved_regs[i], chip->saved_regs[i]);
		fm801_iowrite16(chip, saved_regs[i], chip->saved_regs[i]);