| 
    Zephyr Project API
    3.4.0
    
   A Scalable Open Source RTOS 
   | 
 
#include <stdbool.h>#include <stdint.h>#include <errno.h>#include <zephyr/devicetree.h>#include <zephyr/drivers/gpio.h>#include <zephyr/sys/__assert.h>#include <zephyr/sys/slist.h>Go to the source code of this file.
Macros | |
| #define | GPIO_PORT_PIN_MASK_FROM_NGPIOS(ngpios) ((gpio_port_pins_t)(((uint64_t)1 << (ngpios)) - 1U)) | 
| #define | GPIO_PORT_PIN_MASK_FROM_DT_NODE(node_id) GPIO_PORT_PIN_MASK_FROM_NGPIOS(DT_PROP(node_id, ngpios)) | 
| #define | GPIO_PORT_PIN_MASK_FROM_DT_INST(inst) GPIO_PORT_PIN_MASK_FROM_NGPIOS(DT_INST_PROP(inst, ngpios)) | 
Functions | |
| static int | gpio_manage_callback (sys_slist_t *callbacks, struct gpio_callback *callback, bool set) | 
| Generic function to insert or remove a callback from a callback list.  More... | |
| static void | gpio_fire_callbacks (sys_slist_t *list, const struct device *port, uint32_t pins) | 
| Generic function to go through and fire callback from a callback list.  More... | |
| #define GPIO_PORT_PIN_MASK_FROM_DT_INST | ( | inst | ) | GPIO_PORT_PIN_MASK_FROM_NGPIOS(DT_INST_PROP(inst, ngpios)) | 
| #define GPIO_PORT_PIN_MASK_FROM_DT_NODE | ( | node_id | ) | GPIO_PORT_PIN_MASK_FROM_NGPIOS(DT_PROP(node_id, ngpios)) | 
| #define GPIO_PORT_PIN_MASK_FROM_NGPIOS | ( | ngpios | ) | ((gpio_port_pins_t)(((uint64_t)1 << (ngpios)) - 1U)) | 
      
  | 
  inlinestatic | 
Generic function to go through and fire callback from a callback list.
| list | A pointer on the gpio callback list | 
| port | A pointer on the gpio driver instance | 
| pins | The actual pin mask that triggered the interrupt | 
      
  | 
  inlinestatic | 
Generic function to insert or remove a callback from a callback list.
| callbacks | A pointer to the original list of callbacks (can be NULL) | 
| callback | A pointer of the callback to insert or remove from the list | 
| set | A boolean indicating insertion or removal of the callback |