You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.9 KiB
60 lines
1.9 KiB
diff --git NuttX/nuttx/sched/irq/irq.h NuttX/nuttx/sched/irq/irq.h |
|
index ffb6e98..f01318b 100644 |
|
--- NuttX/nuttx/sched/irq/irq.h |
|
+++ NuttX/nuttx/sched/irq/irq.h |
|
@@ -72,7 +72,9 @@ |
|
struct irq_info_s |
|
{ |
|
xcpt_t handler; /* Address of the interrupt handler */ |
|
+#if !defined(CONFIG_NOIRQARGS) |
|
FAR void *arg; /* The argument provided to the interrupt handler. */ |
|
+#endif |
|
}; |
|
|
|
/**************************************************************************** |
|
diff --git NuttX/nuttx/sched/irq/irq_attach.c NuttX/nuttx/sched/irq/irq_attach.c |
|
index 9d45d9c..3707906 100644 |
|
--- NuttX/nuttx/sched/irq/irq_attach.c |
|
+++ NuttX/nuttx/sched/irq/irq_attach.c |
|
@@ -112,7 +112,11 @@ int irq_attach(int irq, xcpt_t isr, FAR void *arg) |
|
/* Save the new ISR and its argument in the table. */ |
|
|
|
g_irqvector[ndx].handler = isr; |
|
+#if defined(CONFIG_NOIRQARGS) |
|
+ ASSERT(arg == NULL); |
|
+#else |
|
g_irqvector[ndx].arg = arg; |
|
+#endif |
|
|
|
leave_critical_section(flags); |
|
ret = OK; |
|
diff --git NuttX/nuttx/sched/irq/irq_dispatch.c NuttX/nuttx/sched/irq/irq_dispatch.c |
|
index b507c06..66cb1fe 100644 |
|
--- NuttX/nuttx/sched/irq/irq_dispatch.c |
|
+++ NuttX/nuttx/sched/irq/irq_dispatch.c |
|
@@ -88,7 +88,11 @@ void irq_dispatch(int irq, FAR void *context) |
|
} |
|
#else |
|
vector = g_irqvector[irq].handler; |
|
- arg = g_irqvector[irq].arg; |
|
+# if defined(CONFIG_NOIRQARGS) |
|
+ arg = NULL; |
|
+# else |
|
+ arg = g_irqvector[irq].arg; |
|
+# endif |
|
#endif |
|
} |
|
|
|
diff --git NuttX/nuttx/sched/irq/irq_initialize.c NuttX/nuttx/sched/irq/irq_initialize.c |
|
index 18bbafc..2018788 100644 |
|
--- NuttX/nuttx/sched/irq/irq_initialize.c |
|
+++ NuttX/nuttx/sched/irq/irq_initialize.c |
|
@@ -88,6 +88,8 @@ void irq_initialize(void) |
|
for (i = 0; i < TAB_SIZE; i++) |
|
{ |
|
g_irqvector[i].handler = irq_unexpected_isr; |
|
+#if !defined(CONFIG_NOIRQARGS) |
|
g_irqvector[i].arg = NULL; |
|
+#endif |
|
} |
|
}
|
|
|