diff options
author | bde <bde@FreeBSD.org> | 1998-10-22 10:34:11 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1998-10-22 10:34:11 +0000 |
commit | 8bfaa707a64fee18f43f787a8873970c96bfa251 (patch) | |
tree | e7081c1a49ab2a0dc20cfdacf96bd59e7fe65fd7 /sys/i386 | |
parent | 495233d3915ca022754dc25cee598a1477ba632a (diff) | |
download | FreeBSD-src-8bfaa707a64fee18f43f787a8873970c96bfa251.zip FreeBSD-src-8bfaa707a64fee18f43f787a8873970c96bfa251.tar.gz |
The previous change was much too simple to actually compensate for
braindamage in sound driver confiruration. Attempt to only reference
interrupt handlers if their driver is configured.
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/isa/sound/soundcard.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sys/i386/isa/sound/soundcard.c b/sys/i386/isa/sound/soundcard.c index 43649c0..475c16d 100644 --- a/sys/i386/isa/sound/soundcard.c +++ b/sys/i386/isa/sound/soundcard.c @@ -401,23 +401,37 @@ sndattach(struct isa_device * dev) char *dname; void *tmp; - /* XXX this is probably incomplete. */ + /* + * Associate interrupt handlers with devices. XXX this may be incomplete. + */ dname = dev->id_driver->name; +#if defined(CONFIG_AD1848) if (strcmp(dname, "css") == 0 || strcmp(dname, "gusxvi") == 0 || strcmp(dname, "mss") == 0) dev->id_ointr = adintr; +#endif +#ifdef CONFIG_GUS if (strcmp(dname, "gus") == 0) dev->id_ointr = gusintr; +#endif +#ifdef CONFIG_PAS if (strcmp(dname, "pas") == 0) dev->id_ointr = pasintr; +#endif +#if NSB > 0 && (defined(CONFIG_MIDI) || defined(CONFIG_AUDIO)) if (strcmp(dname, "sb") == 0) dev->id_ointr = sbintr; +#endif if (strcmp(dname, "sscape_mss") == 0) dev->id_ointr = sndintr; +#if NSSCAPE > 0 if (strcmp(dname, "sscape") == 0 || strcmp(dname, "trix") == 0) dev->id_ointr = sscapeintr; +#endif +#if NSND > 0 if (strcmp(dname, "uart0") == 0) dev->id_ointr = m6850intr; +#endif unit = driver_to_voxunit(dev->id_driver); hw_config.io_base = dev->id_iobase; |