diff options
Diffstat (limited to 'sys/arm/at91')
-rw-r--r-- | sys/arm/at91/at91.c | 6 | ||||
-rw-r--r-- | sys/arm/at91/at91_mci.c | 2 | ||||
-rw-r--r-- | sys/arm/at91/at91_pio.c | 10 | ||||
-rw-r--r-- | sys/arm/at91/at91_rtc.c | 8 | ||||
-rw-r--r-- | sys/arm/at91/at91_spi.c | 2 | ||||
-rw-r--r-- | sys/arm/at91/at91_ssc.c | 2 | ||||
-rw-r--r-- | sys/arm/at91/at91_st.c | 8 | ||||
-rw-r--r-- | sys/arm/at91/at91_twi.c | 2 | ||||
-rw-r--r-- | sys/arm/at91/if_ate.c | 2 |
9 files changed, 22 insertions, 20 deletions
diff --git a/sys/arm/at91/at91.c b/sys/arm/at91/at91.c index cae88f2..59e5f08 100644 --- a/sys/arm/at91/at91.c +++ b/sys/arm/at91/at91.c @@ -543,14 +543,14 @@ at91_release_resource(device_t dev, device_t child, int type, static int at91_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) { struct at91_softc *sc = device_get_softc(dev); if (rman_get_start(ires) == AT91RM92_IRQ_SYSTEM && !(flags & INTR_FAST)) panic("All system interrupt ISRs must be type INTR_FAST"); - 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); bus_space_write_4(sc->sc_st, sc->sc_sys_sh, IC_IECR, 1 << rman_get_start(ires)); diff --git a/sys/arm/at91/at91_mci.c b/sys/arm/at91/at91_mci.c index 1cc9091..ca9f399 100644 --- a/sys/arm/at91/at91_mci.c +++ b/sys/arm/at91/at91_mci.c @@ -192,7 +192,7 @@ at91_mci_attach(device_t dev) * Activate the interrupt */ err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, - at91_mci_intr, sc, &sc->intrhand); + NULL, at91_mci_intr, sc, &sc->intrhand); if (err) { AT91_MCI_LOCK_DESTROY(sc); goto out; diff --git a/sys/arm/at91/at91_pio.c b/sys/arm/at91/at91_pio.c index 18ffe9b..f8c1863 100644 --- a/sys/arm/at91/at91_pio.c +++ b/sys/arm/at91/at91_pio.c @@ -83,7 +83,7 @@ static devclass_t at91_pio_devclass; static int at91_pio_probe(device_t dev); static int at91_pio_attach(device_t dev); static int at91_pio_detach(device_t dev); -static void at91_pio_intr(void *); +static int at91_pio_intr(void *); /* helper routines */ static int at91_pio_activate(device_t dev); @@ -148,8 +148,8 @@ at91_pio_attach(device_t dev) * Activate the interrupt, but disable all interrupts in the hardware */ WR4(sc, PIO_IDR, 0xffffffff); - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_FAST, - at91_pio_intr, sc, &sc->intrhand); + err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC, + at91_pio_intr, NULL, sc, &sc->intrhand); if (err) { AT91_PIO_LOCK_DESTROY(sc); goto out; @@ -217,7 +217,7 @@ at91_pio_deactivate(device_t dev) return; } -static void +static int at91_pio_intr(void *xsc) { struct at91_pio_softc *sc = xsc; @@ -232,7 +232,7 @@ at91_pio_intr(void *xsc) AT91_PIO_UNLOCK(sc); #endif wakeup(sc); - return; + return (FILTER_HANDLED); } static int diff --git a/sys/arm/at91/at91_rtc.c b/sys/arm/at91/at91_rtc.c index 3a68200..ad70b85 100644 --- a/sys/arm/at91/at91_rtc.c +++ b/sys/arm/at91/at91_rtc.c @@ -110,8 +110,8 @@ at91_rtc_attach(device_t dev) * Activate the interrupt, but disable all interrupts in the hardware */ WR4(sc, RTC_IDR, 0xffffffff); - err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_FAST, - at91_rtc_intr, sc, &sc->intrhand); + err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC, + at91_rtc_intr, NULL, sc, &sc->intrhand); if (err) { AT91_RTC_LOCK_DESTROY(sc); goto out; @@ -173,7 +173,7 @@ at91_rtc_deactivate(device_t dev) return; } -static void +static int at91_rtc_intr(void *xsc) { struct at91_rtc_softc *sc = xsc; @@ -188,7 +188,7 @@ at91_rtc_intr(void *xsc) AT91_RTC_UNLOCK(sc); #endif wakeup(sc); - return; + return (FILTER_HANDLED); } /* diff --git a/sys/arm/at91/at91_spi.c b/sys/arm/at91/at91_spi.c index 6341176..d3ee67d 100644 --- a/sys/arm/at91/at91_spi.c +++ b/sys/arm/at91/at91_spi.c @@ -163,7 +163,7 @@ at91_spi_activate(device_t dev) if (sc->irq_res == NULL) goto errout; err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, - at91_spi_intr, sc, &sc->intrhand); + NULL, at91_spi_intr, sc, &sc->intrhand); if (err != 0) goto errout; return (0); diff --git a/sys/arm/at91/at91_ssc.c b/sys/arm/at91/at91_ssc.c index f4db0d1..3e08431 100644 --- a/sys/arm/at91/at91_ssc.c +++ b/sys/arm/at91/at91_ssc.c @@ -124,7 +124,7 @@ at91_ssc_attach(device_t dev) * Activate the interrupt */ err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, - at91_ssc_intr, sc, &sc->intrhand); + NULL, at91_ssc_intr, sc, &sc->intrhand); if (err) { AT91_SSC_LOCK_DESTROY(sc); goto out; diff --git a/sys/arm/at91/at91_st.c b/sys/arm/at91/at91_st.c index e165f24..6ec9730 100644 --- a/sys/arm/at91/at91_st.c +++ b/sys/arm/at91/at91_st.c @@ -183,7 +183,7 @@ at91st_watchdog(void *argp, u_int cmd, int *error) WR4(ST_CR, ST_CR_WDRST); } -static void +static int clock_intr(void *arg) { struct trapframe *fp = arg; @@ -194,7 +194,9 @@ clock_intr(void *arg) tot_count += 32768 / hz; #endif hardclock(TRAPF_USERMODE(fp), TRAPF_PC(fp)); + return (FILTER_HANDLED); } + return (FILTER_STRAY); } void @@ -222,8 +224,8 @@ cpu_initclocks(void) if (!irq) panic("Unable to allocate irq for the system timer"); else - bus_setup_intr(dev, irq, INTR_TYPE_CLK | INTR_FAST, - clock_intr, NULL, &ih); + bus_setup_intr(dev, irq, INTR_TYPE_CLK, + clock_intr, NULL, NULL, &ih); WR4(ST_PIMR, rel_value); diff --git a/sys/arm/at91/at91_twi.c b/sys/arm/at91/at91_twi.c index 1f522d6..0319e12 100644 --- a/sys/arm/at91/at91_twi.c +++ b/sys/arm/at91/at91_twi.c @@ -118,7 +118,7 @@ at91_twi_attach(device_t dev) * Activate the interrupt */ err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, - at91_twi_intr, sc, &sc->intrhand); + NULL, at91_twi_intr, sc, &sc->intrhand); if (err) { AT91_TWI_LOCK_DESTROY(sc); goto out; diff --git a/sys/arm/at91/if_ate.c b/sys/arm/at91/if_ate.c index 9fb0d9a..02b49fb 100644 --- a/sys/arm/at91/if_ate.c +++ b/sys/arm/at91/if_ate.c @@ -226,7 +226,7 @@ ate_attach(device_t dev) * Activate the interrupt */ err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE, - ate_intr, sc, &sc->intrhand); + NULL, ate_intr, sc, &sc->intrhand); if (err) { ether_ifdetach(ifp); ATE_LOCK_DESTROY(sc); |