summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/isa/sb8.c
diff options
context:
space:
mode:
authorcg <cg@FreeBSD.org>2000-09-01 20:09:24 +0000
committercg <cg@FreeBSD.org>2000-09-01 20:09:24 +0000
commita6b7de97e3e709e699c0638c9ff07e8fc3477772 (patch)
treeba5ec2ebf628be720fad52ae78db04a46cc46680 /sys/dev/sound/isa/sb8.c
parente95936f6ddf2411361330abe8f44903c01b42fe5 (diff)
downloadFreeBSD-src-a6b7de97e3e709e699c0638c9ff07e8fc3477772.zip
FreeBSD-src-a6b7de97e3e709e699c0638c9ff07e8fc3477772.tar.gz
change mixer api slightly
change channel interface - kobj implementation coming soonish make pcm_makelinks not panic if modular add pcm_unregister() these changes support newpcm kld unloading, but this is only implemented by ds1.c
Diffstat (limited to 'sys/dev/sound/isa/sb8.c')
-rw-r--r--sys/dev/sound/isa/sb8.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/sys/dev/sound/isa/sb8.c b/sys/dev/sound/isa/sb8.c
index d975311..21c3e6f 100644
--- a/sys/dev/sound/isa/sb8.c
+++ b/sys/dev/sound/isa/sb8.c
@@ -107,6 +107,14 @@ static pcm_channel sb_chantemplate = {
sbchan_trigger,
sbchan_getptr,
sbchan_getcaps,
+ NULL, /* free */
+ NULL, /* nop1 */
+ NULL, /* nop2 */
+ NULL, /* nop3 */
+ NULL, /* nop4 */
+ NULL, /* nop5 */
+ NULL, /* nop6 */
+ NULL, /* nop7 */
};
struct sb_info;
@@ -152,10 +160,11 @@ static int sbmix_set(snd_mixer *m, unsigned dev, unsigned left, unsigned right);
static int sbmix_setrecsrc(snd_mixer *m, u_int32_t src);
static snd_mixer sb_mixer = {
- "SoundBlaster mixer",
- sbmix_init,
- sbmix_set,
- sbmix_setrecsrc,
+ "SoundBlaster mixer",
+ sbmix_init,
+ NULL,
+ sbmix_set,
+ sbmix_setrecsrc,
};
static devclass_t pcm_devclass;
@@ -412,7 +421,6 @@ sb16_swap(void *v, int dir)
static int
sb_doattach(device_t dev, struct sb_info *sb)
{
- snddev_info *d = device_get_softc(dev);
void *ih;
char status[SND_STATUSLEN];
int bs = DSP_BUFFSIZE;
@@ -421,7 +429,7 @@ sb_doattach(device_t dev, struct sb_info *sb)
goto no;
if (sb_reset_dsp(sb))
goto no;
- mixer_init(d, &sb_mixer, sb);
+ mixer_init(dev, &sb_mixer, sb);
bus_setup_intr(dev, sb->irq, INTR_TYPE_TTY, sb_intr, sb, &ih);
if ((sb->bd_flags & BD_F_SB16) && !(sb->bd_flags & BD_F_SB16X))
OpenPOWER on IntegriCloud