From 6eb17335ed81e19a987f663a701e1d011ccebc96 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 6 Dec 2013 08:37:11 +0100 Subject: bsp/genmcf548x: Use bsp_interrupt_vector_enable() --- c/src/lib/libbsp/m68k/genmcf548x/clock/clock.c | 10 ++++----- c/src/lib/libbsp/m68k/genmcf548x/console/console.c | 24 +++------------------- c/src/lib/libbsp/m68k/genmcf548x/network/network.c | 3 ++- 3 files changed, 9 insertions(+), 28 deletions(-) (limited to 'c/src/lib/libbsp/m68k/genmcf548x') diff --git a/c/src/lib/libbsp/m68k/genmcf548x/clock/clock.c b/c/src/lib/libbsp/m68k/genmcf548x/clock/clock.c index eda0a9c9fc..2c975f179f 100644 --- a/c/src/lib/libbsp/m68k/genmcf548x/clock/clock.c +++ b/c/src/lib/libbsp/m68k/genmcf548x/clock/clock.c @@ -50,12 +50,13 @@ #include #include +#include #include /* * Use SLT 0 */ -#define CLOCK_VECTOR (64+54) +#define CLOCK_IRQ MCF548X_IRQ_SLT0 /* * Periodic interval timer interrupt handler @@ -70,7 +71,7 @@ */ #define Clock_driver_support_install_isr( _new, _old ) \ do { \ - _old = (rtems_isr_entry)set_vector(_new, CLOCK_VECTOR, 1); \ + _old = (rtems_isr_entry)set_vector(_new, CLOCK_IRQ + 64, 1); \ } while(0) /* @@ -89,10 +90,7 @@ */ #define Clock_driver_support_initialize_hardware() \ do { \ - int level; \ - rtems_interrupt_disable( level ); \ - MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK54); \ - rtems_interrupt_enable( level ); \ + bsp_interrupt_vector_enable(CLOCK_IRQ); \ MCF548X_SLT_SLTCNT0 = get_CPU_clock_speed() \ / 1000 \ * rtems_configuration_get_microseconds_per_tick() \ diff --git a/c/src/lib/libbsp/m68k/genmcf548x/console/console.c b/c/src/lib/libbsp/m68k/genmcf548x/console/console.c index 3c8b28cdb6..ba21922632 100644 --- a/c/src/lib/libbsp/m68k/genmcf548x/console/console.c +++ b/c/src/lib/libbsp/m68k/genmcf548x/console/console.c @@ -56,6 +56,7 @@ #include #include #include +#include #include #include @@ -483,27 +484,8 @@ IntUartInitialize(void) /* set uart default values */ IntUartSetAttributes(chan, NULL); - /* unmask interrupt */ - rtems_interrupt_disable(level); - switch(chan) { - case 0: - MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK35); - break; - - case 1: - MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK34); - break; - - case 2: - MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK33); - break; - - case 3: - MCF548X_INTC_IMRH &= ~(MCF548X_INTC_IMRH_INT_MASK32); - break; - } - rtems_interrupt_enable(level); - + /* unmask interrupt */ + bsp_interrupt_vector_enable(MCF548X_IRQ_PSC(chan)); } /* of chan loop */ diff --git a/c/src/lib/libbsp/m68k/genmcf548x/network/network.c b/c/src/lib/libbsp/m68k/genmcf548x/network/network.c index 8296f23ec1..bd3692f85e 100644 --- a/c/src/lib/libbsp/m68k/genmcf548x/network/network.c +++ b/c/src/lib/libbsp/m68k/genmcf548x/network/network.c @@ -50,6 +50,7 @@ #include #include +#include #include #include #include @@ -1288,7 +1289,7 @@ static void mcf548x_fec_init(void *arg) rtems_panic ("Can't attach MFC54xx FEX interrupt handler\n"); } - MCF548X_INTC_IMRH &= ~(1 << (MCF548X_FEC_IRQ_VECTOR(chan) % 32)); + bsp_interrupt_vector_enable(MCF548X_IRQ_FEC(chan)); MCF548X_FEC_EIMR(chan) = FEC_INTR_MASK_USED; mcf548x_fec_rx_bd_init(sc); -- cgit v1.2.3