summaryrefslogtreecommitdiffstats
path: root/sys/dev/aac
diff options
context:
space:
mode:
authorpiso <piso@FreeBSD.org>2007-02-23 12:19:07 +0000
committerpiso <piso@FreeBSD.org>2007-02-23 12:19:07 +0000
commit6a2ffa86e5b748ba71e36d37462a936eb9101be7 (patch)
tree10833d4edb6c0d0a5efcf7762d842a4c378404b0 /sys/dev/aac
parent7b48c9d78377cdb9fc6e8bcc5406e28819aef6e3 (diff)
downloadFreeBSD-src-6a2ffa86e5b748ba71e36d37462a936eb9101be7.zip
FreeBSD-src-6a2ffa86e5b748ba71e36d37462a936eb9101be7.tar.gz
o break newbus api: add a new argument of type driver_filter_t to
bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@
Diffstat (limited to 'sys/dev/aac')
-rw-r--r--sys/dev/aac/aac.c12
-rw-r--r--sys/dev/aac/aacvar.h2
2 files changed, 8 insertions, 6 deletions
diff --git a/sys/dev/aac/aac.c b/sys/dev/aac/aac.c
index 3b6ad54..078f809 100644
--- a/sys/dev/aac/aac.c
+++ b/sys/dev/aac/aac.c
@@ -305,20 +305,21 @@ aac_attach(struct aac_softc *sc)
}
if (sc->flags & AAC_FLAGS_NEW_COMM) {
if (bus_setup_intr(sc->aac_dev, sc->aac_irq,
- INTR_MPSAFE|INTR_TYPE_BIO, aac_new_intr,
- sc, &sc->aac_intr)) {
+ INTR_MPSAFE|INTR_TYPE_BIO, NULL,
+ aac_new_intr, sc, &sc->aac_intr)) {
device_printf(sc->aac_dev, "can't set up interrupt\n");
return (EINVAL);
}
} else {
if (bus_setup_intr(sc->aac_dev, sc->aac_irq,
- INTR_FAST|INTR_TYPE_BIO, aac_fast_intr,
+ INTR_TYPE_BIO, aac_fast_intr, NULL,
sc, &sc->aac_intr)) {
device_printf(sc->aac_dev,
"can't set up FAST interrupt\n");
if (bus_setup_intr(sc->aac_dev, sc->aac_irq,
INTR_MPSAFE|INTR_TYPE_BIO,
- aac_fast_intr, sc, &sc->aac_intr)) {
+ NULL, (driver_intr_t *)aac_fast_intr,
+ sc, &sc->aac_intr)) {
device_printf(sc->aac_dev,
"can't set up MPSAFE interrupt\n");
return (EINVAL);
@@ -780,7 +781,7 @@ aac_new_intr(void *arg)
mtx_unlock(&sc->aac_io_lock);
}
-void
+int
aac_fast_intr(void *arg)
{
struct aac_softc *sc;
@@ -822,6 +823,7 @@ aac_fast_intr(void *arg)
*/
wakeup(sc->aifthread);
}
+ return (FILTER_HANDLED);
}
/*
diff --git a/sys/dev/aac/aacvar.h b/sys/dev/aac/aacvar.h
index a5ae32b..de3425b 100644
--- a/sys/dev/aac/aacvar.h
+++ b/sys/dev/aac/aacvar.h
@@ -425,7 +425,7 @@ extern int aac_shutdown(device_t dev);
extern int aac_suspend(device_t dev);
extern int aac_resume(device_t dev);
extern void aac_new_intr(void *arg);
-extern void aac_fast_intr(void *arg);
+extern int aac_fast_intr(void *arg);
extern void aac_submit_bio(struct bio *bp);
extern void aac_biodone(struct bio *bp);
extern void aac_startio(struct aac_softc *sc);
OpenPOWER on IntegriCloud