X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Fser_at91.c;h=2d778d10df1fc255a5362eba4dbb47558c02f6e3;hb=b8af8dc682989ac879ddf67675ce3c11f05df4ad;hp=aacb99b6895e9625c78e812989ae2c5b5a1981c8;hpb=55ba9680d6f409c2a307904c64632934ba97e899;p=bertos.git diff --git a/bertos/cpu/arm/drv/ser_at91.c b/bertos/cpu/arm/drv/ser_at91.c index aacb99b6..2d778d10 100644 --- a/bertos/cpu/arm/drv/ser_at91.c +++ b/bertos/cpu/arm/drv/ser_at91.c @@ -34,7 +34,6 @@ * \brief ARM UART and SPI I/O driver * * - * \version $Id$ * \author Daniele Basile */ @@ -243,11 +242,11 @@ struct ArmSerial volatile bool sending; }; -static void uart0_irq_dispatcher(void); -static void uart1_irq_dispatcher(void); -static void spi0_irq_handler(void); +static ISR_PROTO(uart0_irq_dispatcher); +static ISR_PROTO(uart1_irq_dispatcher); +static ISR_PROTO(spi0_irq_handler); #if CPU_ARM_SAM7X -static void spi1_irq_handler(void); +static ISR_PROTO(spi1_irq_handler); #endif /* * Callbacks for USART0 @@ -734,7 +733,7 @@ struct SerialHardware *ser_hw_getdesc(int unit) /** * Serial 0 TX interrupt handler */ -static void uart0_irq_tx(void) +INLINE void uart0_irq_tx(void) { SER_STROBE_ON; @@ -743,7 +742,7 @@ static void uart0_irq_tx(void) if (fifo_isempty(txfifo)) { /* - * - Disable the TX empty interrupts + * - Disable the TX empty interrupts */ US0_IDR = BV(US_TXEMPTY); SER_UART0_BUS_TXEND; @@ -761,7 +760,7 @@ static void uart0_irq_tx(void) /** * Serial 0 RX complete interrupt handler. */ -static void uart0_irq_rx(void) +INLINE void uart0_irq_rx(void) { SER_STROBE_ON; @@ -783,8 +782,7 @@ static void uart0_irq_rx(void) /** * Serial IRQ dispatcher for USART0. */ -static void uart0_irq_dispatcher(void) __attribute__ ((interrupt)); -static void uart0_irq_dispatcher(void) +static DECLARE_ISR(uart0_irq_dispatcher) { if (US0_CSR & BV(US_RXRDY)) uart0_irq_rx(); @@ -799,7 +797,7 @@ static void uart0_irq_dispatcher(void) /** * Serial 1 TX interrupt handler */ -static void uart1_irq_tx(void) +INLINE void uart1_irq_tx(void) { SER_STROBE_ON; @@ -808,7 +806,7 @@ static void uart1_irq_tx(void) if (fifo_isempty(txfifo)) { /* - * - Disable the TX empty interrupts + * - Disable the TX empty interrupts */ US1_IDR = BV(US_TXEMPTY); SER_UART1_BUS_TXEND; @@ -826,7 +824,7 @@ static void uart1_irq_tx(void) /** * Serial 1 RX complete interrupt handler. */ -static void uart1_irq_rx(void) +INLINE void uart1_irq_rx(void) { SER_STROBE_ON; @@ -848,8 +846,7 @@ static void uart1_irq_rx(void) /** * Serial IRQ dispatcher for USART1. */ -static void uart1_irq_dispatcher(void) __attribute__ ((interrupt)); -static void uart1_irq_dispatcher(void) +static DECLARE_ISR(uart1_irq_dispatcher) { if (US1_CSR & BV(US_RXRDY)) uart1_irq_rx(); @@ -864,8 +861,7 @@ static void uart1_irq_dispatcher(void) /** * SPI0 interrupt handler */ -static void spi0_irq_handler(void) __attribute__ ((interrupt)); -static void spi0_irq_handler(void) +static DECLARE_ISR(spi0_irq_handler) { SER_STROBE_ON; @@ -895,8 +891,7 @@ static void spi0_irq_handler(void) /** * SPI1 interrupt handler */ -static void spi1_irq_handler(void) __attribute__ ((interrupt)); -static void spi1_irq_handler(void) +static DECLARE_ISR(spi1_irq_handler) { SER_STROBE_ON;