11#ifndef ZEPHYR_INCLUDE_IRQ_NEXTLEVEL_H_ 
   12#define ZEPHYR_INCLUDE_IRQ_NEXTLEVEL_H_ 
   24typedef void (*irq_next_level_func_t)(
const struct device *dev,
 
   26typedef unsigned int (*irq_next_level_get_state_t)(
const struct device *dev);
 
   27typedef void (*irq_next_level_priority_t)(
const struct device *dev,
 
   28                                          unsigned int irq, 
unsigned int prio,
 
   30typedef int (*irq_next_level_get_line_state_t)(
const struct device *dev,
 
   33struct irq_next_level_api {
 
   34        irq_next_level_func_t intr_enable;
 
   35        irq_next_level_func_t intr_disable;
 
   36        irq_next_level_get_state_t intr_get_state;
 
   37        irq_next_level_priority_t intr_set_priority;
 
   38        irq_next_level_get_line_state_t intr_get_line_state;
 
   55        const struct irq_next_level_api *api =
 
   56                (
const struct irq_next_level_api *)dev->
api;
 
   58        api->intr_enable(dev, irq);
 
   72        const struct irq_next_level_api *api =
 
   73                (
const struct irq_next_level_api *)dev->
api;
 
   75        api->intr_disable(dev, irq);
 
   90        const struct irq_next_level_api *api =
 
   91                (
const struct irq_next_level_api *)dev->
api;
 
   93        return api->intr_get_state(dev);
 
  111        const struct irq_next_level_api *api =
 
  112                (
const struct irq_next_level_api *)dev->
api;
 
  114        if (api->intr_set_priority)
 
  115                api->intr_set_priority(dev, irq, prio, 
flags);
 
  131        const struct irq_next_level_api *api =
 
  132                (
const struct irq_next_level_api *)dev->
api;
 
  134        return api->intr_get_line_state(dev, irq);
 
static void irq_enable_next_level(const struct device *dev, uint32_t irq)
Enable an IRQ in the next level.
Definition: irq_nextlevel.h:52
 
static unsigned int irq_line_is_enabled_next_level(const struct device *dev, unsigned int irq)
Get IRQ line enable state.
Definition: irq_nextlevel.h:128
 
static unsigned int irq_is_enabled_next_level(const struct device *dev)
Get IRQ enable state.
Definition: irq_nextlevel.h:88
 
static void irq_disable_next_level(const struct device *dev, uint32_t irq)
Disable an IRQ in the next level.
Definition: irq_nextlevel.h:69
 
static void irq_set_priority_next_level(const struct device *dev, uint32_t irq, uint32_t prio, uint32_t flags)
Set IRQ priority.
Definition: irq_nextlevel.h:107
 
flags
Definition: parser.h:96
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
Runtime device structure (in ROM) per driver instance.
Definition: device.h:378
 
const void * api
Definition: device.h:384