Add header flash module.
[bertos.git] / bertos / cpu / arm / drv / ser_at91.c
index aacb99b6895e9625c78e812989ae2c5b5a1981c8..2d778d10df1fc255a5362eba4dbb47558c02f6e3 100644 (file)
@@ -34,7 +34,6 @@
  * \brief ARM UART and SPI I/O driver
  *
  *
- * \version $Id$
  * \author Daniele Basile <asterix@develer.com>
  */
 
@@ -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;