diff options
author | piso <piso@FreeBSD.org> | 2007-02-23 12:19:07 +0000 |
---|---|---|
committer | piso <piso@FreeBSD.org> | 2007-02-23 12:19:07 +0000 |
commit | 6a2ffa86e5b748ba71e36d37462a936eb9101be7 (patch) | |
tree | 10833d4edb6c0d0a5efcf7762d842a4c378404b0 /sys/arm/sa11x0 | |
parent | 7b48c9d78377cdb9fc6e8bcc5406e28819aef6e3 (diff) | |
download | FreeBSD-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/arm/sa11x0')
-rw-r--r-- | sys/arm/sa11x0/sa11x0.c | 8 | ||||
-rw-r--r-- | sys/arm/sa11x0/sa11x0_ost.c | 15 |
2 files changed, 12 insertions, 11 deletions
diff --git a/sys/arm/sa11x0/sa11x0.c b/sys/arm/sa11x0/sa11x0.c index b099600..4c12162 100644 --- a/sys/arm/sa11x0/sa11x0.c +++ b/sys/arm/sa11x0/sa11x0.c @@ -91,14 +91,14 @@ static struct resource *sa1110_alloc_resource(device_t, device_t, int, int *, static int sa1110_activate_resource(device_t, device_t, int, int, struct resource *); static int sa1110_setup_intr(device_t, device_t, struct resource *, int, - driver_intr_t *, void *, void **); + driver_filter_t *, driver_intr_t *, void *, void **); struct sa11x0_softc *sa11x0_softc; /* There can be only one. */ static int sa1110_setup_intr(device_t dev, device_t child, - struct resource *ires, int flags, driver_intr_t *intr, void *arg, - void **cookiep) + struct resource *ires, int flags, driver_filter_t *filt, + driver_intr_t *intr, void *arg, void **cookiep) { int saved_cpsr; @@ -113,7 +113,7 @@ sa1110_setup_intr(device_t dev, device_t child, saved_cpsr = SetCPSR(I32_bit, I32_bit); SetCPSR(I32_bit, saved_cpsr & I32_bit); - BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, intr, arg, + BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, filt, intr, arg, cookiep); return (0); } diff --git a/sys/arm/sa11x0/sa11x0_ost.c b/sys/arm/sa11x0/sa11x0_ost.c index fbe73eb..6edced9 100644 --- a/sys/arm/sa11x0/sa11x0_ost.c +++ b/sys/arm/sa11x0/sa11x0_ost.c @@ -67,9 +67,9 @@ static int saost_probe(device_t); static int saost_attach(device_t); int gettick(void); -static void clockintr(void *); +static int clockintr(void *); #if 0 -static void statintr(void *); +static int statintr(void *); #endif void rtcinit(void); @@ -141,7 +141,7 @@ saost_attach(device_t dev) } -static void +static int clockintr(arg) void *arg; { @@ -184,10 +184,11 @@ clockintr(arg) #if 0 mtx_unlock_spin(&clock_lock); #endif + return (FILTER_HANDLED); } #if 0 -static void +static int statintr(arg) void *arg; { @@ -227,7 +228,7 @@ statintr(arg) saost_sc->sc_statclock_count = nextmatch; statclock(TRAPF_USERMODE(frame)); - + return (FILTER_HANDLED); } #endif @@ -271,10 +272,10 @@ cpu_initclocks() rid = 1; irq2 = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_ACTIVE); - bus_setup_intr(dev, irq1, INTR_TYPE_CLK | INTR_FAST, clockintr, NULL, + bus_setup_intr(dev, irq1, INTR_TYPE_CLK, clockintr, NULL, NULL, &ih1); #if 0 - bus_setup_intr(dev, irq2, INTR_TYPE_CLK | INTR_FAST, statintr, NULL + bus_setup_intr(dev, irq2, INTR_TYPE_CLK, statintr, NULL, NULL, ,&ih2); #endif bus_space_write_4(saost_sc->sc_iot, saost_sc->sc_ioh, SAOST_SR, 0xf); |