|
Zephyr Project API
3.3.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 |