Lines Matching refs:ac97
190 struct snd_ac97 *ac97; member
268 static void snd_fm801_codec_write(struct snd_ac97 *ac97, in snd_fm801_codec_write() argument
272 struct fm801 *chip = ac97->private_data; in snd_fm801_codec_write()
284 fm801_writew(chip, AC97_CMD, reg | (ac97->addr << FM801_AC97_ADDR_SHIFT)); in snd_fm801_codec_write()
290 ac97->num); in snd_fm801_codec_write()
293 static unsigned short snd_fm801_codec_read(struct snd_ac97 *ac97, unsigned short reg) in snd_fm801_codec_read() argument
295 struct fm801 *chip = ac97->private_data; in snd_fm801_codec_read()
307 reg | (ac97->addr << FM801_AC97_ADDR_SHIFT) | FM801_AC97_READ); in snd_fm801_codec_read()
310 ac97->num); in snd_fm801_codec_read()
316 "AC'97 interface #%d is not valid (2)\n", ac97->num); in snd_fm801_codec_read()
1018 static void snd_fm801_mixer_free_ac97(struct snd_ac97 *ac97) in snd_fm801_mixer_free_ac97() argument
1020 struct fm801 *chip = ac97->private_data; in snd_fm801_mixer_free_ac97()
1021 if (ac97->num == 0) { in snd_fm801_mixer_free_ac97()
1022 chip->ac97 = NULL; in snd_fm801_mixer_free_ac97()
1030 struct snd_ac97_template ac97; in snd_fm801_mixer() local
1042 memset(&ac97, 0, sizeof(ac97)); in snd_fm801_mixer()
1043 ac97.private_data = chip; in snd_fm801_mixer()
1044 ac97.private_free = snd_fm801_mixer_free_ac97; in snd_fm801_mixer()
1045 if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0) in snd_fm801_mixer()
1048 ac97.num = 1; in snd_fm801_mixer()
1049 ac97.addr = chip->secondary_addr; in snd_fm801_mixer()
1050 if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97_sec)) < 0) in snd_fm801_mixer()
1370 snd_ac97_suspend(chip->ac97); in snd_fm801_suspend()
1385 snd_ac97_resume(chip->ac97); in snd_fm801_resume()