mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-05-08 14:19:03 -04:00
Add vPortRemoveInterruptHandler API (#533)
* Add xPortRemoveInterruptHandler API This API is added to the MicroBlazeV9 port. It enables the application writer to remove an interrupt handler. This was originally contributed in this PR - https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/523 * Change API signature to return void This makes the API similar to vPortDisableInterrupt. Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> Co-authored-by: Gavin Lambert <uecasm@users.noreply.github.com>
This commit is contained in:
parent
2070d9d3e5
commit
dc9c034c85
|
@ -327,7 +327,7 @@ int32_t lReturn;
|
||||||
portEXIT_CRITICAL();
|
portEXIT_CRITICAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
configASSERT( lReturn );
|
configASSERT( lReturn == pdPASS );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -345,7 +345,7 @@ int32_t lReturn;
|
||||||
XIntc_Disable( &xInterruptControllerInstance, ucInterruptID );
|
XIntc_Disable( &xInterruptControllerInstance, ucInterruptID );
|
||||||
}
|
}
|
||||||
|
|
||||||
configASSERT( lReturn );
|
configASSERT( lReturn == pdPASS );
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -374,6 +374,24 @@ int32_t lReturn;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
void vPortRemoveInterruptHandler( uint8_t ucInterruptID )
|
||||||
|
{
|
||||||
|
int32_t lReturn;
|
||||||
|
|
||||||
|
/* An API function is provided to remove an interrupt handler because the
|
||||||
|
interrupt controller instance variable is private to this file. */
|
||||||
|
|
||||||
|
lReturn = prvEnsureInterruptControllerIsInitialised();
|
||||||
|
|
||||||
|
if( lReturn == pdPASS )
|
||||||
|
{
|
||||||
|
XIntc_Disconnect( &xInterruptControllerInstance, ucInterruptID );
|
||||||
|
}
|
||||||
|
|
||||||
|
configASSERT( lReturn == pdPASS );
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
static int32_t prvEnsureInterruptControllerIsInitialised( void )
|
static int32_t prvEnsureInterruptControllerIsInitialised( void )
|
||||||
{
|
{
|
||||||
static int32_t lInterruptControllerInitialised = pdFALSE;
|
static int32_t lInterruptControllerInitialised = pdFALSE;
|
||||||
|
|
Loading…
Reference in a new issue