diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-05 13:28:02 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-07-26 17:08:42 +0200 |
commit | deb5afb2f201d26cc618c2d56cd75de179341120 (patch) | |
tree | d377beba75dae8e28302cea3fb983ce47c3147df /bsps/shared/irq | |
parent | bsps/irq: Add rtems_interrupt_get_attributes() (diff) | |
download | rtems-deb5afb2f201d26cc618c2d56cd75de179341120.tar.bz2 |
bsps/irq: Add rtems_interrupt_is_pending()
Add a default implementation which just returns RTEMS_UNSATISFIED.
Update #3269.
Diffstat (limited to 'bsps/shared/irq')
-rw-r--r-- | bsps/shared/irq/irq-default.c | 11 | ||||
-rw-r--r-- | bsps/shared/irq/irq-raise-clear.c | 17 |
2 files changed, 27 insertions, 1 deletions
diff --git a/bsps/shared/irq/irq-default.c b/bsps/shared/irq/irq-default.c index 745e1eb139..09e0cec052 100644 --- a/bsps/shared/irq/irq-default.c +++ b/bsps/shared/irq/irq-default.c @@ -45,6 +45,17 @@ rtems_status_code bsp_interrupt_get_attributes( return RTEMS_SUCCESSFUL; } +rtems_status_code bsp_interrupt_is_pending( + rtems_vector_number vector, + bool *pending +) +{ + bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); + bsp_interrupt_assert(pending != NULL); + *pending = false; + return RTEMS_UNSATISFIED; +} + rtems_status_code bsp_interrupt_raise(rtems_vector_number vector) { bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector)); diff --git a/bsps/shared/irq/irq-raise-clear.c b/bsps/shared/irq/irq-raise-clear.c index a0569f5948..93e414b2d1 100644 --- a/bsps/shared/irq/irq-raise-clear.c +++ b/bsps/shared/irq/irq-raise-clear.c @@ -6,7 +6,6 @@ * @ingroup bsp_interrupt * * @brief This source file contains the implementation of - * rtems_interrupt_raise(), rtems_interrupt_raise_on() and * rtems_interrupt_clear(). */ @@ -41,6 +40,22 @@ #include <rtems/score/smpimpl.h> #include <rtems/config.h> +rtems_status_code rtems_interrupt_is_pending( + rtems_vector_number vector, + bool *pending +) +{ + if ( pending == NULL ) { + return RTEMS_INVALID_ADDRESS; + } + + if ( !bsp_interrupt_is_valid_vector( vector ) ) { + return RTEMS_INVALID_ID; + } + + return bsp_interrupt_is_pending( vector, pending ); +} + rtems_status_code rtems_interrupt_raise( rtems_vector_number vector ) { if ( !bsp_interrupt_is_valid_vector( vector ) ) { |