Lines Matching refs:ac97
184 struct snd_ac97 *ac97;
237 static void snd_fm801_codec_write(struct snd_ac97 *ac97,
241 struct fm801 *chip = ac97->private_data;
258 outw(reg | (ac97->addr << FM801_AC97_ADDR_SHIFT), FM801_REG(chip, AC97_CMD));
267 snd_printk(KERN_ERR "AC'97 interface #%d is busy (2)\n", ac97->num);
270 static unsigned short snd_fm801_codec_read(struct snd_ac97 *ac97, unsigned short reg)
272 struct fm801 *chip = ac97->private_data;
288 outw(reg | (ac97->addr << FM801_AC97_ADDR_SHIFT) | FM801_AC97_READ,
295 snd_printk(KERN_ERR "AC'97 interface #%d is busy (2)\n", ac97->num);
304 snd_printk(KERN_ERR "AC'97 interface #%d is not valid (2)\n", ac97->num);
1224 static void snd_fm801_mixer_free_ac97(struct snd_ac97 *ac97)
1226 struct fm801 *chip = ac97->private_data;
1227 if (ac97->num == 0) {
1228 chip->ac97 = NULL;
1236 struct snd_ac97_template ac97;
1248 memset(&ac97, 0, sizeof(ac97));
1249 ac97.private_data = chip;
1250 ac97.private_free = snd_fm801_mixer_free_ac97;
1251 if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0)
1254 ac97.num = 1;
1255 ac97.addr = chip->secondary_addr;
1256 if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97_sec)) < 0)
1561 snd_ac97_suspend(chip->ac97);
1589 snd_ac97_resume(chip->ac97);