From 6a2ffa86e5b748ba71e36d37462a936eb9101be7 Mon Sep 17 00:00:00 2001 From: piso Date: Fri, 23 Feb 2007 12:19:07 +0000 Subject: 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@ --- sys/arm/xscale/i80321/i80321_pci.c | 6 +++--- sys/arm/xscale/i80321/i80321_timer.c | 10 +++++----- sys/arm/xscale/i80321/iq80321.c | 8 ++++---- sys/arm/xscale/ixp425/ixp425.c | 8 ++++---- sys/arm/xscale/ixp425/ixp425_npe.c | 2 +- sys/arm/xscale/ixp425/ixp425_pci.c | 4 ++-- sys/arm/xscale/ixp425/ixp425_timer.c | 9 +++++---- 7 files changed, 24 insertions(+), 23 deletions(-) (limited to 'sys/arm/xscale') diff --git a/sys/arm/xscale/i80321/i80321_pci.c b/sys/arm/xscale/i80321/i80321_pci.c index abda074d..aa4801d 100644 --- a/sys/arm/xscale/i80321/i80321_pci.c +++ b/sys/arm/xscale/i80321/i80321_pci.c @@ -346,11 +346,11 @@ i80321_pci_activate_resource(device_t bus, device_t child, int type, int rid, static int i80321_pci_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) { return (BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, - intr, arg, cookiep)); + filt, intr, arg, cookiep)); } static int diff --git a/sys/arm/xscale/i80321/i80321_timer.c b/sys/arm/xscale/i80321/i80321_timer.c index 8f9e4b9..1abfdaf 100644 --- a/sys/arm/xscale/i80321/i80321_timer.c +++ b/sys/arm/xscale/i80321/i80321_timer.c @@ -133,7 +133,7 @@ static devclass_t i80321_timer_devclass; DRIVER_MODULE(itimer, iq, i80321_timer_driver, i80321_timer_devclass, 0, 0); -void clockhandler(void *); +int clockhandler(void *); static __inline uint32_t @@ -336,8 +336,8 @@ cpu_initclocks(void) if (!irq) panic("Unable to setup the clock irq handler.\n"); else - bus_setup_intr(dev, irq, INTR_TYPE_CLK | INTR_FAST, - clockhandler, NULL, &ihl); + bus_setup_intr(dev, irq, INTR_TYPE_CLK, clockhandler, NULL, + NULL, &ihl); tmr0_write(0); /* stop timer */ tisr_write(TISR_TMR0); /* clear interrupt */ @@ -401,7 +401,7 @@ DELAY(int n) * * Handle the hardclock interrupt. */ -void +int clockhandler(void *arg) { struct trapframe *frame = arg; @@ -412,7 +412,7 @@ clockhandler(void *arg) if (i80321_hardclock_hook != NULL) (*i80321_hardclock_hook)(); - return; + return (FILTER_HANDLED); } void diff --git a/sys/arm/xscale/i80321/iq80321.c b/sys/arm/xscale/i80321/iq80321.c index 13b5917..7f94879 100644 --- a/sys/arm/xscale/i80321/iq80321.c +++ b/sys/arm/xscale/i80321/iq80321.c @@ -351,11 +351,11 @@ iq80321_alloc_resource(device_t dev, device_t child, int type, int *rid, static int iq80321_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) { - BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, intr, arg, - cookiep); + BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, filt, intr, + arg, cookiep); intr_enabled |= 1 << rman_get_start(ires); i80321_set_intrmask(); diff --git a/sys/arm/xscale/ixp425/ixp425.c b/sys/arm/xscale/ixp425/ixp425.c index f35db99..78155bc 100644 --- a/sys/arm/xscale/ixp425/ixp425.c +++ b/sys/arm/xscale/ixp425/ixp425.c @@ -310,8 +310,8 @@ ixp425_alloc_resource(device_t dev, device_t child, int type, int *rid, static int ixp425_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) { uint32_t mask; int i; @@ -324,8 +324,8 @@ ixp425_setup_intr(device_t dev, device_t child, rman_set_start(ires, IXP425_INT_UART1); rman_set_end(ires, rman_get_start(ires)); } - BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, intr, arg, - cookiep); + BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, filt, intr, + arg, cookiep); mask = 0; for (i = rman_get_start(ires); i <= rman_get_end(ires); i++) diff --git a/sys/arm/xscale/ixp425/ixp425_npe.c b/sys/arm/xscale/ixp425/ixp425_npe.c index c3e9dbd..2d5680d 100644 --- a/sys/arm/xscale/ixp425/ixp425_npe.c +++ b/sys/arm/xscale/ixp425/ixp425_npe.c @@ -291,7 +291,7 @@ ixpnpe_attach(device_t dev) panic("%s: Unable to allocate irq %u", device_get_name(dev), irq); /* XXX could be a source of entropy */ bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_NET | INTR_MPSAFE, - ixpnpe_intr, sc, &sc->sc_ih); + NULL, ixpnpe_intr, sc, &sc->sc_ih); /* enable output fifo interrupts (NB: must also set OFIFO Write Enable) */ npe_reg_write(sc, IX_NPECTL, npe_reg_read(sc, IX_NPECTL) | (IX_NPECTL_OFE | IX_NPECTL_OFWE)); diff --git a/sys/arm/xscale/ixp425/ixp425_pci.c b/sys/arm/xscale/ixp425/ixp425_pci.c index cadb088..ef29052 100644 --- a/sys/arm/xscale/ixp425/ixp425_pci.c +++ b/sys/arm/xscale/ixp425/ixp425_pci.c @@ -254,11 +254,11 @@ ixppcib_write_ivar(device_t dev, device_t child, int which, uintptr_t value) static int ixppcib_setup_intr(device_t dev, device_t child, struct resource *ires, - int flags, driver_intr_t *intr, void *arg, void **cookiep) + int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep) { return (BUS_SETUP_INTR(device_get_parent(dev), child, ires, flags, - intr, arg, cookiep)); + filt, intr, arg, cookiep)); } static int diff --git a/sys/arm/xscale/ixp425/ixp425_timer.c b/sys/arm/xscale/ixp425/ixp425_timer.c index 0fa9d1f..e7717d0 100644 --- a/sys/arm/xscale/ixp425/ixp425_timer.c +++ b/sys/arm/xscale/ixp425/ixp425_timer.c @@ -58,7 +58,7 @@ __FBSDID("$FreeBSD$"); static uint32_t counts_per_hz; /* callback functions for intr_functions */ -void ixpclk_intr(void *); +int ixpclk_intr(void *); struct ixpclk_softc { device_t sc_dev; @@ -182,8 +182,8 @@ cpu_initclocks(void) if (!irq) panic("Unable to setup the clock irq handler.\n"); else - bus_setup_intr(dev, irq, INTR_TYPE_CLK | INTR_FAST, - ixpclk_intr, NULL, &ihl); + bus_setup_intr(dev, irq, INTR_TYPE_CLK, ixpclk_intr, NULL, + NULL, &ihl); /* Set up the new clock parameters. */ @@ -244,7 +244,7 @@ DELAY(int n) * * Handle the hardclock interrupt. */ -void +int ixpclk_intr(void *arg) { struct ixpclk_softc* sc = ixpclk_sc; @@ -254,6 +254,7 @@ ixpclk_intr(void *arg) OST_TIM0_INT); hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); + return (FILTER_HANDLED); } void -- cgit v1.1