diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-06-19 14:09:28 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-06-20 07:42:25 +0200 |
commit | c6810c824c9445fdc44ae5c0092f9ae5355a1420 (patch) | |
tree | 72441065d38fefdef1008118d9bf51bebf71ad05 /c/src/lib/libbsp/arm/tms570 | |
parent | bsps/powerpc: Fix warning (diff) | |
download | rtems-c6810c824c9445fdc44ae5c0092f9ae5355a1420.tar.bz2 |
bsps: Improve interrupt vector enable/disable API
Change bsp_interrupt_vector_enable() and bsp_interrupt_vector_disable()
to not return a status code. Add bsp_interrupt_assert() and use it to
validate the vector number in the vector enable/disable implementations.
Diffstat (limited to 'c/src/lib/libbsp/arm/tms570')
-rw-r--r-- | c/src/lib/libbsp/arm/tms570/irq/irq.c | 40 |
1 files changed, 6 insertions, 34 deletions
diff --git a/c/src/lib/libbsp/arm/tms570/irq/irq.c b/c/src/lib/libbsp/arm/tms570/irq/irq.c index 7a2a55fff5..579c11ed2a 100644 --- a/c/src/lib/libbsp/arm/tms570/irq/irq.c +++ b/c/src/lib/libbsp/arm/tms570/irq/irq.c @@ -28,24 +28,6 @@ #include <bsp/irq.h> #include <rtems/score/armv4.h> -/** - * @brief Check if isr vector is valid - * - * Check if isr vector is valid by using BSP_INTERRUPT_VECTOR_MAX and - * BSP_INTERRUPT_VECTOR_MIN defined in irq.h - * - * @param[in] vector interrupt vector to be checked. - * @retval TRUE vector is valid. - * @retval FALSE vector is invalid - */ -static inline bool tms570_irq_is_valid( - rtems_vector_number vector -) -{ - return (vector <= BSP_INTERRUPT_VECTOR_MAX) && - (vector > BSP_INTERRUPT_VECTOR_MIN); -} - unsigned int priorityTable[BSP_INTERRUPT_VECTOR_MAX+1]; /** @@ -64,7 +46,7 @@ void tms570_irq_set_priority( unsigned priority ) { - if ( tms570_irq_is_valid(vector) ) { + if ( bsp_interrupt_is_valid_vector(vector) ) { priorityTable[vector] = priority; } } @@ -84,7 +66,7 @@ unsigned tms570_irq_get_priority( rtems_vector_number vector ) { - if ( tms570_irq_is_valid(vector) ) { + if ( bsp_interrupt_is_valid_vector(vector) ) { return priorityTable[vector]; } return 0; @@ -114,17 +96,12 @@ void bsp_interrupt_dispatch(void) * @retval RTEMS_INVALID_ID vector is invalid. * @retval RTEMS_SUCCESSFUL interrupt source enabled. */ -rtems_status_code bsp_interrupt_vector_enable( +void bsp_interrupt_vector_enable( rtems_vector_number vector ) { - if( !tms570_irq_is_valid(vector) ) { - return RTEMS_INVALID_ID; - } - + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); TMS570_VIM.REQENASET[vector >> 5] = 1 << (vector & 0x1f); - - return RTEMS_SUCCESSFUL; } /** @@ -136,17 +113,12 @@ rtems_status_code bsp_interrupt_vector_enable( * @retval RTEMS_INVALID_ID vector is invalid. * @retval RTEMS_SUCCESSFUL interrupt source disabled. */ -rtems_status_code bsp_interrupt_vector_disable( +void bsp_interrupt_vector_disable( rtems_vector_number vector ) { - if( !tms570_irq_is_valid(vector) ) { - return RTEMS_INVALID_ID; - } - + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); TMS570_VIM.REQENACLR[vector >> 5] = 1 << (vector & 0x1f); - - return RTEMS_SUCCESSFUL; } /** |