diff options
author | Jaroslav Kysela <perex@suse.cz> | 2004-04-24 19:58:04 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2004-04-24 19:58:04 +0200 |
commit | 16486f85f78e46dfdd0fa961fbf462c9935f558e (patch) | |
tree | ab5eb567469187550bf4eee834ec22b0679225b4 /sound | |
parent | 0e38be1097b579381053f9a23572e975475c18fa (diff) | |
download | history-16486f85f78e46dfdd0fa961fbf462c9935f558e.tar.gz |
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
Intel8x0 driver,Intel8x0-modem driver
- probe only audio (intel8x0) or modem (intel8x0m) codecs.
- call snd_ac97_suspend() in the suspend callback.
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/intel8x0.c | 7 | ||||
-rw-r--r-- | sound/pci/intel8x0m.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 6ed2b01c88534d..060d7c61c2f678 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c @@ -1852,6 +1852,7 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock, int ac memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; ac97.private_free = snd_intel8x0_mixer_free_ac97; + ac97.scaps = AC97_SCAP_SKIP_MODEM; if (chip->device_type != DEVICE_ALI) { glob_sta = igetdword(chip, ICHREG(GLOB_STA)); bus.write = snd_intel8x0_codec_write; @@ -1900,7 +1901,8 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock, int ac for (i = 0; i < codecs; i++) { ac97.num = i; if ((err = snd_ac97_mixer(pbus, &ac97, &x97)) < 0) { - snd_printk(KERN_ERR "Unable to initialize codec #%d\n", i); + if (err != -EACCES) + snd_printk(KERN_ERR "Unable to initialize codec #%d\n", i); if (i == 0) goto __err; continue; @@ -2203,6 +2205,9 @@ static int intel8x0_suspend(snd_card_t *card, unsigned int state) for (i = 0; i < chip->pcm_devs; i++) snd_pcm_suspend_all(chip->pcm[i]); + for (i = 0; i < 3; i++) + if (chip->ac97[i]) + snd_ac97_suspend(chip->ac97[i]); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); return 0; } diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c index 668335cd222a33..6046ac13a6da7e 100644 --- a/sound/pci/intel8x0m.c +++ b/sound/pci/intel8x0m.c @@ -902,6 +902,7 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock) memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; ac97.private_free = snd_intel8x0_mixer_free_ac97; + ac97.scaps = AC97_SCAP_SKIP_AUDIO; glob_sta = igetdword(chip, ICHREG(GLOB_STA)); bus.write = snd_intel8x0_codec_write; @@ -1085,6 +1086,8 @@ static int intel8x0m_suspend(snd_card_t *card, unsigned int state) for (i = 0; i < chip->pcm_devs; i++) snd_pcm_suspend_all(chip->pcm[i]); + if (chip->ac97) + snd_ac97_suspend(chip->ac97); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); return 0; } |