aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/sound/isa
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sound/isa')
-rw-r--r--sys/dev/sound/isa/gusc.c18
-rw-r--r--sys/dev/sound/isa/sbc.c15
2 files changed, 25 insertions, 8 deletions
diff --git a/sys/dev/sound/isa/gusc.c b/sys/dev/sound/isa/gusc.c
index 27aa64999a6d..706081c9823c 100644
--- a/sys/dev/sound/isa/gusc.c
+++ b/sys/dev/sound/isa/gusc.c
@@ -316,7 +316,7 @@ gusc_attach(device_t dev)
}
if (scp->irq != NULL)
- bus_setup_intr(dev, scp->irq, INTR_TYPE_AV, NULL, gusc_intr, scp, &ih);
+ snd_setup_intr(dev, scp->irq, 0, gusc_intr, scp, &ih);
bus_generic_attach(dev);
return (0);
@@ -418,16 +418,21 @@ gusc_release_resource(device_t bus, device_t child, int type, int rid,
}
static int
-gusc_setup_intr(device_t dev, device_t child, struct resource *irq,
- int flags, driver_filter_t *filter, driver_intr_t *intr, void *arg, void **cookiep)
+gusc_setup_intr(device_t dev, device_t child, struct resource *irq, int flags,
+#if __FreeBSD_version >= 700031
+ driver_filter_t *filter,
+#endif
+ driver_intr_t *intr, void *arg, void **cookiep)
{
sc_p scp = (sc_p)device_get_softc(dev);
devclass_t devclass;
+#if __FreeBSD_version >= 700031
if (filter != NULL) {
printf("gusc.c: we cannot use a filter here\n");
return (EINVAL);
}
+#endif
devclass = device_get_devclass(child);
if (strcmp(devclass_get_name(devclass), "midi") == 0) {
scp->midi_intr.intr = intr;
@@ -438,8 +443,11 @@ gusc_setup_intr(device_t dev, device_t child, struct resource *irq,
scp->pcm_intr.arg = arg;
return 0;
}
- return bus_generic_setup_intr(dev, child, irq, flags, filter, intr,
- arg, cookiep);
+ return bus_generic_setup_intr(dev, child, irq, flags,
+#if __FreeBSD_version >= 700031
+ filter,
+#endif
+ intr, arg, cookiep);
}
static device_t
diff --git a/sys/dev/sound/isa/sbc.c b/sys/dev/sound/isa/sbc.c
index d8787a11a542..ef4b119bd109 100644
--- a/sys/dev/sound/isa/sbc.c
+++ b/sys/dev/sound/isa/sbc.c
@@ -80,7 +80,11 @@ static struct resource *sbc_alloc_resource(device_t bus, device_t child, int typ
static int sbc_release_resource(device_t bus, device_t child, int type, int rid,
struct resource *r);
static int sbc_setup_intr(device_t dev, device_t child, struct resource *irq,
- int flags, driver_filter_t *filter, driver_intr_t *intr,
+ int flags,
+#if __FreeBSD_version >= 700031
+ driver_filter_t *filter,
+#endif
+ driver_intr_t *intr,
void *arg, void **cookiep);
static int sbc_teardown_intr(device_t dev, device_t child, struct resource *irq,
void *cookie);
@@ -502,18 +506,23 @@ sbc_intr(void *p)
}
static int
-sbc_setup_intr(device_t dev, device_t child, struct resource *irq,
- int flags, driver_filter_t *filter, driver_intr_t *intr,
+sbc_setup_intr(device_t dev, device_t child, struct resource *irq, int flags,
+#if __FreeBSD_version >= 700031
+ driver_filter_t *filter,
+#endif
+ driver_intr_t *intr,
void *arg, void **cookiep)
{
struct sbc_softc *scp = device_get_softc(dev);
struct sbc_ihl *ihl = NULL;
int i, ret;
+#if __FreeBSD_version >= 700031
if (filter != NULL) {
printf("sbc.c: we cannot use a filter here\n");
return (EINVAL);
}
+#endif
sbc_lock(scp);
i = 0;
while (i < IRQ_MAX) {