summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/pcm/mixer.h
diff options
context:
space:
mode:
authorcg <cg@FreeBSD.org>2000-12-18 01:36:41 +0000
committercg <cg@FreeBSD.org>2000-12-18 01:36:41 +0000
commit2fae4aec24ea4529882b3ec4cda45661ccd48ea8 (patch)
treee7e32573ed48df98bed54daa386c3520e959e951 /sys/dev/sound/pcm/mixer.h
parent1fd2c926a884cc824e7da7ee1a51dad72b1dec5b (diff)
downloadFreeBSD-src-2fae4aec24ea4529882b3ec4cda45661ccd48ea8.zip
FreeBSD-src-2fae4aec24ea4529882b3ec4cda45661ccd48ea8.tar.gz
kobjify.
this gives us several benefits, including: * easier extensibility- new optional methods can be added to ac97/mixer/channel classes without having to fixup every driver. * forward compatibility for drivers, provided no new mandatory methods are added.
Diffstat (limited to 'sys/dev/sound/pcm/mixer.h')
-rw-r--r--sys/dev/sound/pcm/mixer.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/sound/pcm/mixer.h b/sys/dev/sound/pcm/mixer.h
index eb1946b..08824fc 100644
--- a/sys/dev/sound/pcm/mixer.h
+++ b/sys/dev/sound/pcm/mixer.h
@@ -26,12 +26,12 @@
* $FreeBSD$
*/
-extern int mixer_init(device_t dev, snd_mixer *m, void *devinfo);
+extern int mixer_init(device_t dev, kobj_class_t cls, void *devinfo);
extern int mixer_uninit(device_t dev);
extern int mixer_reinit(device_t dev);
extern int mixer_ioctl(snddev_info *d, u_long cmd, caddr_t arg);
-extern int mixer_busy(snddev_info *d, int busy);
-extern int mixer_isbusy(snddev_info *d);
+extern int mixer_busy(snd_mixer *m, int busy);
+extern int mixer_isbusy(snd_mixer *m);
extern void change_bits(mixer_tab *t, u_char *regval, int dev, int chn, int newval);
@@ -40,3 +40,5 @@ void mix_setrecdevs(snd_mixer *m, u_int32_t v);
u_int32_t mix_getdevs(snd_mixer *m);
u_int32_t mix_getrecdevs(snd_mixer *m);
void *mix_getdevinfo(snd_mixer *m);
+
+#define MIXER_DECLARE(name) DEFINE_CLASS(name, name ## _methods, sizeof(snd_mixer))
OpenPOWER on IntegriCloud