aboutsummaryrefslogtreecommitdiffstats
path: root/ports
diff options
context:
space:
mode:
Diffstat (limited to 'ports')
-rw-r--r--ports/ARM7-AT91SAM7X/sam7x_emac.c2
-rw-r--r--ports/ARM7-AT91SAM7X/sam7x_serial.c4
-rw-r--r--ports/ARM7-AT91SAM7X/sam7x_serial.h4
-rw-r--r--ports/ARM7-LPC214x/lpc214x_serial.c4
-rw-r--r--ports/ARM7-LPC214x/lpc214x_serial.h4
-rw-r--r--ports/ARM7/chcore.h4
-rw-r--r--ports/ARM7/port.dox2
-rw-r--r--ports/ARMCM3-STM32F103/stm32_serial.c6
-rw-r--r--ports/ARMCM3/chcore.c2
-rw-r--r--ports/ARMCM3/chcore.h4
-rw-r--r--ports/AVR/chcore.h4
-rw-r--r--ports/MSP430/chcore.h5
12 files changed, 22 insertions, 23 deletions
diff --git a/ports/ARM7-AT91SAM7X/sam7x_emac.c b/ports/ARM7-AT91SAM7X/sam7x_emac.c
index 05701b369..21c7808b0 100644
--- a/ports/ARM7-AT91SAM7X/sam7x_emac.c
+++ b/ports/ARM7-AT91SAM7X/sam7x_emac.c
@@ -124,7 +124,7 @@ static void ServeInterrupt(void) {
AT91C_BASE_AIC->AIC_EOICR = 0;
}
-CH_IRQ_HANDLER void EMACIrqHandler(void) {
+CH_IRQ_HANDLER(EMACIrqHandler) {
CH_IRQ_PROLOGUE();
diff --git a/ports/ARM7-AT91SAM7X/sam7x_serial.c b/ports/ARM7-AT91SAM7X/sam7x_serial.c
index 023b98527..c13701847 100644
--- a/ports/ARM7-AT91SAM7X/sam7x_serial.c
+++ b/ports/ARM7-AT91SAM7X/sam7x_serial.c
@@ -74,7 +74,7 @@ static void ServeInterrupt(AT91PS_USART u, FullDuplexDriver *com) {
AT91C_BASE_AIC->AIC_EOICR = 0;
}
-CH_IRQ_HANDLER void USART0IrqHandler(void) {
+CH_IRQ_HANDLER(USART0IrqHandler) {
CH_IRQ_PROLOGUE();
@@ -83,7 +83,7 @@ CH_IRQ_HANDLER void USART0IrqHandler(void) {
CH_IRQ_EPILOGUE();
}
-CH_IRQ_HANDLER void USART1IrqHandler(void) {
+CH_IRQ_HANDLER(USART1IrqHandler) {
CH_IRQ_PROLOGUE();
diff --git a/ports/ARM7-AT91SAM7X/sam7x_serial.h b/ports/ARM7-AT91SAM7X/sam7x_serial.h
index 4eac6e22f..f526f7840 100644
--- a/ports/ARM7-AT91SAM7X/sam7x_serial.h
+++ b/ports/ARM7-AT91SAM7X/sam7x_serial.h
@@ -30,9 +30,9 @@
extern "C" {
#endif
void InitSerial(int prio0, int prio1);
- void UART0IrqHandler(void);
- void UART1IrqHandler(void);
void SetUSARTI(AT91PS_USART u, int speed, int mode);
+ CH_IRQ_HANDLER(UART0IrqHandler);
+ CH_IRQ_HANDLER(UART1IrqHandler);
#ifdef __cplusplus
}
#endif
diff --git a/ports/ARM7-LPC214x/lpc214x_serial.c b/ports/ARM7-LPC214x/lpc214x_serial.c
index ececd30c4..527f99f59 100644
--- a/ports/ARM7-LPC214x/lpc214x_serial.c
+++ b/ports/ARM7-LPC214x/lpc214x_serial.c
@@ -109,7 +109,7 @@ static void ServeInterrupt(UART *u, FullDuplexDriver *com) {
}
}
-CH_IRQ_HANDLER void UART0IrqHandler(void) {
+CH_IRQ_HANDLER(UART0IrqHandler) {
CH_IRQ_PROLOGUE();
@@ -119,7 +119,7 @@ CH_IRQ_HANDLER void UART0IrqHandler(void) {
CH_IRQ_EPILOGUE();
}
-CH_IRQ_HANDLER void UART1IrqHandler(void) {
+CH_IRQ_HANDLER(UART1IrqHandler) {
CH_IRQ_PROLOGUE();
diff --git a/ports/ARM7-LPC214x/lpc214x_serial.h b/ports/ARM7-LPC214x/lpc214x_serial.h
index e3afda35f..d7844a49d 100644
--- a/ports/ARM7-LPC214x/lpc214x_serial.h
+++ b/ports/ARM7-LPC214x/lpc214x_serial.h
@@ -41,9 +41,9 @@
extern "C" {
#endif
void InitSerial(int vector1, int vector2);
- void UART0IrqHandler(void);
- void UART1IrqHandler(void);
void SetUARTI(UART *u, int speed, int lcr, int fcr);
+ CH_IRQ_HANDLER(UART0IrqHandler);
+ CH_IRQ_HANDLER(UART1IrqHandler);
#ifdef __cplusplus
}
#endif
diff --git a/ports/ARM7/chcore.h b/ports/ARM7/chcore.h
index 20255d652..1e99f7e16 100644
--- a/ports/ARM7/chcore.h
+++ b/ports/ARM7/chcore.h
@@ -184,9 +184,9 @@ struct context {
#endif /* !THUMB */
/**
- * IRQ handler function modifier.
+ * IRQ handler function declaration.
*/
-#define PORT_IRQ_HANDLER __attribute__((naked))
+#define PORT_IRQ_HANDLER(id) __attribute__((naked)) void id(void)
/**
* This function is empty in this port.
diff --git a/ports/ARM7/port.dox b/ports/ARM7/port.dox
index 9a9f319a6..fce2f9cd7 100644
--- a/ports/ARM7/port.dox
+++ b/ports/ARM7/port.dox
@@ -85,7 +85,7 @@
* registers.<br>
* Example:
* @code
- * CH_IRQ_HANDLER void irq_handler(void) {
+ * CH_IRQ_HANDLER(irq_handler) {
* CH_IRQ_PROLOGUE();
*
* serve_interrupt();
diff --git a/ports/ARMCM3-STM32F103/stm32_serial.c b/ports/ARMCM3-STM32F103/stm32_serial.c
index c17d7a56c..d54291b75 100644
--- a/ports/ARMCM3-STM32F103/stm32_serial.c
+++ b/ports/ARMCM3-STM32F103/stm32_serial.c
@@ -85,7 +85,7 @@ static void ServeInterrupt(USART_TypeDef *u, FullDuplexDriver *com) {
/*
* USART1 IRQ service routine.
*/
-CH_IRQ_HANDLER void VectorD4(void) {
+CH_IRQ_HANDLER(VectorD4) {
CH_IRQ_PROLOGUE();
@@ -108,7 +108,7 @@ static void OutNotify1(void) {
/*
* USART2 IRQ service routine.
*/
-CH_IRQ_HANDLER void VectorD8(void) {
+CH_IRQ_HANDLER(VectorD8) {
CH_IRQ_PROLOGUE();
@@ -131,7 +131,7 @@ static void OutNotify2(void) {
/*
* USART3 IRQ service routine.
*/
-CH_IRQ_HANDLER void VectorDC(void) {
+CH_IRQ_HANDLER(VectorDC) {
CH_IRQ_PROLOGUE();
diff --git a/ports/ARMCM3/chcore.c b/ports/ARMCM3/chcore.c
index 61741c216..91971b866 100644
--- a/ports/ARMCM3/chcore.c
+++ b/ports/ARMCM3/chcore.c
@@ -71,7 +71,7 @@ void threadstart(void) {
* This interrupt is used as system tick.
* @note The timer is initialized in the board setup code.
*/
-CH_IRQ_HANDLER void SysTickVector(void) {
+CH_IRQ_HANDLER(SysTickVector) {
CH_IRQ_PROLOGUE();
diff --git a/ports/ARMCM3/chcore.h b/ports/ARMCM3/chcore.h
index 505668698..638995f1c 100644
--- a/ports/ARMCM3/chcore.h
+++ b/ports/ARMCM3/chcore.h
@@ -207,9 +207,9 @@ struct context {
}
/**
- * IRQ handler function modifier.
+ * IRQ handler function declaration.
*/
-#define PORT_IRQ_HANDLER
+#define PORT_IRQ_HANDLER(id) void id(void)
/**
* This function is empty in this port.
diff --git a/ports/AVR/chcore.h b/ports/AVR/chcore.h
index 141255d8b..ab2d2f6d5 100644
--- a/ports/AVR/chcore.h
+++ b/ports/AVR/chcore.h
@@ -188,10 +188,10 @@ asm ("" : : : "r18", "r19", "r20", "r21", "r22", "r23", "r24", \
}
/**
- * IRQ handler function modifier. Note, it just aliases the WinAVR "ISR"
+ * IRQ handler function declaration. Note, it just aliases the WinAVR "ISR"
* macro.
*/
-#define PORT_IRQ_HANDLER ISR
+#define PORT_IRQ_HANDLER(id) ISR(id)
/**
* This function is empty in this port.
diff --git a/ports/MSP430/chcore.h b/ports/MSP430/chcore.h
index 08240835a..ee184be53 100644
--- a/ports/MSP430/chcore.h
+++ b/ports/MSP430/chcore.h
@@ -155,10 +155,9 @@ struct context {
}
/**
- * IRQ handler function modifier. Note, it just aliases the WinMSP "interrupt"
- * macro.
+ * IRQ handler function modifier.
*/
-#define PORT_IRQ_HANDLER interrupt
+#define PORT_IRQ_HANDLER(id) interrupt void id(void)
/**
* This function is empty in this port.