summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-08-05 18:51:51 +0000
committerian <ian@FreeBSD.org>2014-08-05 18:51:51 +0000
commit9e1bd3c87ddb66e2b826b21fa6ebcf1dd5286d72 (patch)
treee189ee42c1a105f900bff0497d75b8ca74cf7063 /sys/arm
parent1d56927a73b079d1d4ba65a37751cf879ca269e4 (diff)
downloadFreeBSD-src-9e1bd3c87ddb66e2b826b21fa6ebcf1dd5286d72.zip
FreeBSD-src-9e1bd3c87ddb66e2b826b21fa6ebcf1dd5286d72.tar.gz
Attach arm generic interrupt and timer drivers in the middle of
BUS_PASS_INTERRUPT and BUS_PASS_TIMER, respectively.
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/arm/generic_timer.c3
-rw-r--r--sys/arm/arm/gic.c3
-rw-r--r--sys/arm/arm/mpcore_timer.c3
-rw-r--r--sys/arm/arm/pl190.c3
4 files changed, 8 insertions, 4 deletions
diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c
index 63e1717..df7d0cd 100644
--- a/sys/arm/arm/generic_timer.c
+++ b/sys/arm/arm/generic_timer.c
@@ -343,7 +343,8 @@ static driver_t arm_tmr_driver = {
static devclass_t arm_tmr_devclass;
-DRIVER_MODULE(timer, simplebus, arm_tmr_driver, arm_tmr_devclass, 0, 0);
+EARLY_DRIVER_MODULE(timer, simplebus, arm_tmr_driver, arm_tmr_devclass, 0, 0,
+ BUS_PASS_TIMER + BUS_PASS_ORDER_MIDDLE);
void
DELAY(int usec)
diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c
index 06c4b87..9a9275b 100644
--- a/sys/arm/arm/gic.c
+++ b/sys/arm/arm/gic.c
@@ -264,7 +264,8 @@ static driver_t arm_gic_driver = {
static devclass_t arm_gic_devclass;
-DRIVER_MODULE(gic, simplebus, arm_gic_driver, arm_gic_devclass, 0, 0);
+EARLY_DRIVER_MODULE(gic, simplebus, arm_gic_driver, arm_gic_devclass, 0, 0,
+ BUS_PASS_INTERRUPT + BUS_PASS_ORDER_MIDDLE);
static void
gic_post_filter(void *arg)
diff --git a/sys/arm/arm/mpcore_timer.c b/sys/arm/arm/mpcore_timer.c
index bf30707..3f87a2a 100644
--- a/sys/arm/arm/mpcore_timer.c
+++ b/sys/arm/arm/mpcore_timer.c
@@ -382,7 +382,8 @@ static driver_t arm_tmr_driver = {
static devclass_t arm_tmr_devclass;
-DRIVER_MODULE(mp_tmr, simplebus, arm_tmr_driver, arm_tmr_devclass, 0, 0);
+EARLY_DRIVER_MODULE(mp_tmr, simplebus, arm_tmr_driver, arm_tmr_devclass, 0, 0,
+ BUS_PASS_TIMER + BUS_PASS_ORDER_MIDDLE);
/*
* Handle a change in clock frequency. The mpcore timer runs at half the CPU
diff --git a/sys/arm/arm/pl190.c b/sys/arm/arm/pl190.c
index 01cd84a..5e81134 100644
--- a/sys/arm/arm/pl190.c
+++ b/sys/arm/arm/pl190.c
@@ -152,7 +152,8 @@ static driver_t pl190_intc_driver = {
static devclass_t pl190_intc_devclass;
-DRIVER_MODULE(intc, simplebus, pl190_intc_driver, pl190_intc_devclass, 0, 0);
+EARLY_DRIVER_MODULE(intc, simplebus, pl190_intc_driver, pl190_intc_devclass,
+ 0, 0, BUS_PASS_INTERRUPT + BUS_PASS_ORDER_MIDDLE);
int
arm_get_next_irq(int last_irq)
OpenPOWER on IntegriCloud