summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/tms570
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-06-19 14:09:28 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-06-20 07:42:25 +0200
commitc6810c824c9445fdc44ae5c0092f9ae5355a1420 (patch)
tree72441065d38fefdef1008118d9bf51bebf71ad05 /c/src/lib/libbsp/arm/tms570
parentbsps/powerpc: Fix warning (diff)
downloadrtems-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.c40
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;
}
/**