Base implementation of Bottom Half Processor module for generic IRQ offloading. More...
Base implementation of Bottom Half Processor module for generic IRQ offloading.
This module provides a generic mechanism to schedule an offload request (Top Half) from interrupt context and run the IRQ handler in thread context. A Bottom Half Processor interface stores a pointer to the device IRQ handler and context, which allows device agnostic IRQ offloading.
A user of this module can either use the Bottom Half Processor interface directly or use an existing implementation of a Bottom Half Processor (see Event based implementation of Bottom Half Processor)
Modules | |
| Event based implementation of Bottom Half Processor | |
| Bottom Half Processor module for generic IRQ offloading.  | |
| Message based implementation of Bottom Half Processor | |
| Bottom Half Processor module for generic IRQ offloading using messages.  | |
Data Structures | |
| struct | bhp | 
| Bottom Half Processor descriptor.  More... | |
Typedefs | |
| typedef struct bhp | bhp_t | 
| Forward declaration of the Bottom Half Processor descriptor.  | |
| typedef void(* | bhp_cb_t) (void *arg) | 
| A Bottom Half Processor callback.  More... | |
Functions | |
| static void | bhp_irq_handler (bhp_t *bhp) | 
| Call the IRQ handler associated to a Bottom Half Processor descriptor.  More... | |
| static void | bhp_set_cb (bhp_t *bhp, bhp_cb_t cb, void *ctx) | 
| Set the callback for a Bottom Half Processor.  More... | |
| typedef void(* bhp_cb_t) (void *arg) | 
      
  | 
  inlinestatic | 
Call the IRQ handler associated to a Bottom Half Processor descriptor.
| [in] | bhp | Pointer to the Bottom Half Processor descriptor | 
Set the callback for a Bottom Half Processor.
This function should be called inside the init function of a device that requires ISR offloading.
| [in] | bhp | Pointer to the Bottom Half Processor | 
| [in] | cb | IRQ handler of the Bottom Half Processor | 
| [in] | ctx | Context of the IRQ handler |