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
/**
* Serial 0 TX interrupt handler
*/
-static void uart0_irq_tx(void)
+INLINE void uart0_irq_tx(void)
{
SER_STROBE_ON;
if (fifo_isempty(txfifo))
{
/*
- * - Disable the TX empty interrupts
+ * - Disable the TX empty interrupts
*/
US0_IDR = BV(US_TXEMPTY);
SER_UART0_BUS_TXEND;
/**
* Serial 0 RX complete interrupt handler.
*/
-static void uart0_irq_rx(void)
+INLINE void uart0_irq_rx(void)
{
SER_STROBE_ON;
/**
* 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();
/**
* Serial 1 TX interrupt handler
*/
-static void uart1_irq_tx(void)
+INLINE void uart1_irq_tx(void)
{
SER_STROBE_ON;
if (fifo_isempty(txfifo))
{
/*
- * - Disable the TX empty interrupts
+ * - Disable the TX empty interrupts
*/
US1_IDR = BV(US_TXEMPTY);
SER_UART1_BUS_TXEND;
/**
* Serial 1 RX complete interrupt handler.
*/
-static void uart1_irq_rx(void)
+INLINE void uart1_irq_rx(void)
{
SER_STROBE_ON;
/**
* 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();
/**
* 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;
/**
* 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;