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:
Gaurav-Aggarwal-AWS 2022-08-03 13:45:27 -07:00 committed by GitHub
parent 2070d9d3e5
commit dc9c034c85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -327,7 +327,7 @@ int32_t lReturn;
portEXIT_CRITICAL();
}
configASSERT( lReturn );
configASSERT( lReturn == pdPASS );
}
/*-----------------------------------------------------------*/
@ -345,7 +345,7 @@ int32_t lReturn;
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 lInterruptControllerInitialised = pdFALSE;