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: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Andy Shevchenko 2015-12-21 19:09:54 +02:00 committed by Takashi Iwai
parent b56fa687e0
commit 14da04b5ff
1 changed files with 12 additions and 6 deletions

View File

@ -1393,12 +1393,17 @@ static int snd_fm801_suspend(struct device *dev)
int i;
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
snd_pcm_suspend_all(chip->pcm);
snd_ac97_suspend(chip->ac97);
snd_ac97_suspend(chip->ac97_sec);
if (chip->tea575x_tuner & TUNER_ONLY) {
/* FIXME: tea575x suspend */
} else {
snd_pcm_suspend_all(chip->pcm);
snd_ac97_suspend(chip->ac97);
snd_ac97_suspend(chip->ac97_sec);
}
for (i = 0; i < ARRAY_SIZE(saved_regs); i++)
chip->saved_regs[i] = fm801_ioread16(chip, saved_regs[i]);
/* FIXME: tea575x suspend */
return 0;
}
@ -1414,9 +1419,10 @@ static int snd_fm801_resume(struct device *dev)
reset_codec(chip);
snd_fm801_chip_multichannel_init(chip);
snd_fm801_chip_init(chip);
snd_ac97_resume(chip->ac97);
snd_ac97_resume(chip->ac97_sec);
}
snd_ac97_resume(chip->ac97);
snd_ac97_resume(chip->ac97_sec);
for (i = 0; i < ARRAY_SIZE(saved_regs); i++)
fm801_iowrite16(chip, saved_regs[i], chip->saved_regs[i]);