forked from Imagelibrary/rtems
tm27: Avoid function pointer casts
Add TM27_USE_VECTOR_HANDLER to select the interrupt handler type used by the <tm27.h> implementation. Close #4820.
This commit is contained in:
@@ -59,6 +59,8 @@
|
||||
|
||||
#define MUST_WAIT_FOR_INTERRUPT 1
|
||||
|
||||
#define TM27_USE_VECTOR_HANDLER
|
||||
|
||||
#define Install_tm27_vector( handler ) \
|
||||
set_vector( (handler), TEST_VECTOR, 1 );
|
||||
|
||||
@@ -80,22 +82,20 @@
|
||||
|
||||
#define MUST_WAIT_FOR_INTERRUPT 1
|
||||
|
||||
static inline void Install_tm27_vector(
|
||||
void ( *handler )( rtems_vector_number )
|
||||
)
|
||||
static inline void Install_tm27_vector( rtems_interrupt_handler handler )
|
||||
{
|
||||
(void) rtems_interrupt_handler_install(
|
||||
TEST_INTERRUPT_SOURCE,
|
||||
"tm27 low",
|
||||
RTEMS_INTERRUPT_SHARED,
|
||||
(rtems_interrupt_handler) handler,
|
||||
handler,
|
||||
NULL
|
||||
);
|
||||
(void) rtems_interrupt_handler_install(
|
||||
TEST_INTERRUPT_SOURCE2,
|
||||
"tm27 high",
|
||||
RTEMS_INTERRUPT_SHARED,
|
||||
(rtems_interrupt_handler) handler,
|
||||
handler,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
@@ -59,6 +59,8 @@
|
||||
|
||||
#define MUST_WAIT_FOR_INTERRUPT 1
|
||||
|
||||
#define TM27_USE_VECTOR_HANDLER
|
||||
|
||||
#define Install_tm27_vector( handler ) \
|
||||
set_vector( (handler), TEST_VECTOR, 1 );
|
||||
|
||||
@@ -79,22 +81,20 @@
|
||||
#define TEST_INTERRUPT_SOURCE2 LEON_INTERRUPT_EXTERNAL_1+1
|
||||
#define MUST_WAIT_FOR_INTERRUPT 1
|
||||
|
||||
static inline void Install_tm27_vector(
|
||||
void ( *handler )( rtems_vector_number )
|
||||
)
|
||||
static inline void Install_tm27_vector( rtems_interrupt_handler handler )
|
||||
{
|
||||
(void) rtems_interrupt_handler_install(
|
||||
TEST_INTERRUPT_SOURCE,
|
||||
"tm27 low",
|
||||
RTEMS_INTERRUPT_SHARED,
|
||||
(rtems_interrupt_handler) handler,
|
||||
handler,
|
||||
NULL
|
||||
);
|
||||
(void) rtems_interrupt_handler_install(
|
||||
TEST_INTERRUPT_SOURCE2,
|
||||
"tm27 high",
|
||||
RTEMS_INTERRUPT_SHARED,
|
||||
(rtems_interrupt_handler) handler,
|
||||
handler,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
@@ -66,6 +66,8 @@
|
||||
|
||||
#define MUST_WAIT_FOR_INTERRUPT 1
|
||||
|
||||
#define TM27_USE_VECTOR_HANDLER
|
||||
|
||||
#define Install_tm27_vector( handler ) \
|
||||
set_vector( (handler), TEST_VECTOR, 1 );
|
||||
|
||||
@@ -88,9 +90,7 @@ extern uint32_t Interrupt_nest;
|
||||
#define TEST_INTERRUPT_SOURCE2 6
|
||||
#define MUST_WAIT_FOR_INTERRUPT 1
|
||||
|
||||
static inline void Install_tm27_vector(
|
||||
void ( *handler )( rtems_vector_number )
|
||||
)
|
||||
static inline void Install_tm27_vector( rtems_interrupt_handler handler )
|
||||
{
|
||||
static rtems_interrupt_entry entry_low;
|
||||
static rtems_interrupt_entry entry_high;
|
||||
@@ -108,7 +108,7 @@ static inline void Install_tm27_vector(
|
||||
|
||||
rtems_interrupt_entry_initialize(
|
||||
&entry_low,
|
||||
(rtems_interrupt_handler) handler,
|
||||
handler,
|
||||
NULL,
|
||||
"tm27 low"
|
||||
);
|
||||
@@ -119,7 +119,7 @@ static inline void Install_tm27_vector(
|
||||
);
|
||||
rtems_interrupt_entry_initialize(
|
||||
&entry_high,
|
||||
(rtems_interrupt_handler) handler,
|
||||
handler,
|
||||
NULL,
|
||||
"tm27 high"
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user