forked from epagris/FreeRTOS-Kernel
		
	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();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	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;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user