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 |