ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / sound / pci / au88x0 / au88x0_mixer.c
1 /*
2  * Vortex Mixer support.
3  *
4  * There is much more than just the AC97 mixer...
5  *
6  */
7
8 #include <sound/driver.h>
9 #include <linux/time.h>
10 #include <linux/init.h>
11 #include <sound/core.h>
12 #include "au88x0.h"
13
14 static int __devinit snd_vortex_mixer(vortex_t * vortex)
15 {
16         ac97_bus_t bus, *pbus;
17         ac97_t ac97;
18         int err;
19
20         memset(&bus, 0, sizeof(bus));
21         bus.write = vortex_codec_write;
22         bus.read = vortex_codec_read;
23         if ((err = snd_ac97_bus(vortex->card, &bus, &pbus)) < 0)
24                 return err;
25         memset(&ac97, 0, sizeof(ac97));
26         // Intialize AC97 codec stuff.
27         ac97.private_data = vortex;
28         return snd_ac97_mixer(pbus, &ac97, &vortex->codec);
29 }