82 #ifdef CONFIG_GPIO_MULTI
87 struct gpio *(*gpio_init)(uint32_t index);
113 #ifdef CONFIG_INSTANCE_NAME
119 #ifdef CONFIG_GPIO_MULTI
123 const struct gpio_ops *ops;
133 #ifndef CONFIG_GPIO_MULTI
247 inline struct gpio *
gpio_init(uint32_t index) {
253 return gpio->ops->gpio_init(index);
257 return g->ops->gpio_deinit(gpio);
261 return g->ops->gpioPin_init(gpio, pin, dir, setting);
266 return g->ops->gpioPin_deinit(pin);
271 return g->ops->gpioPin_enableInterrupt(pin);
276 return g->ops->gpioPin_disableInterrupt(pin);
278 inline int32_t
gpioPin_setCallback(
struct gpio_pin *pin,
bool (*callback)(
struct gpio_pin *pin, uint32_t pinID,
void *data),
void *data,
enum gpio_interrupt inter) {
281 return g->ops->gpioPin_setCallback(pin, callback, data, inter);
286 return g->ops->gpioPin_setDirection(pin, dir);
291 return g->ops->gpioPin_setSetting(pin, setting);
296 return g->ops->gpioPin_SchmittTrigger(pin, schmitt);
301 return g->ops->gpioPin_setValue(pin, value);
306 return g->ops->gpioPin_setPin(pin);
311 return g->ops->gpioPin_clearPin(pin);
316 return g->ops->gpioPin_togglePin(pin);
321 return g->ops->gpioPin_getValue(pin);