| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef __LINUX_GPIO_FORWARDER_H | |
| #define __LINUX_GPIO_FORWARDER_H | |
| struct gpio_desc; | |
| struct gpio_chip; | |
| struct gpiochip_fwd; | |
| struct gpiochip_fwd *devm_gpiochip_fwd_alloc(struct device *dev, | |
| unsigned int ngpios); | |
| int gpiochip_fwd_desc_add(struct gpiochip_fwd *fwd, | |
| struct gpio_desc *desc, unsigned int offset); | |
| void gpiochip_fwd_desc_free(struct gpiochip_fwd *fwd, unsigned int offset); | |
| int gpiochip_fwd_register(struct gpiochip_fwd *fwd, void *data); | |
| struct gpio_chip *gpiochip_fwd_get_gpiochip(struct gpiochip_fwd *fwd); | |
| void *gpiochip_fwd_get_data(struct gpiochip_fwd *fwd); | |
| int gpiochip_fwd_gpio_request(struct gpiochip_fwd *fwd, unsigned int offset); | |
| int gpiochip_fwd_gpio_get_direction(struct gpiochip_fwd *fwd, | |
| unsigned int offset); | |
| int gpiochip_fwd_gpio_direction_input(struct gpiochip_fwd *fwd, | |
| unsigned int offset); | |
| int gpiochip_fwd_gpio_direction_output(struct gpiochip_fwd *fwd, | |
| unsigned int offset, | |
| int value); | |
| int gpiochip_fwd_gpio_get(struct gpiochip_fwd *fwd, unsigned int offset); | |
| int gpiochip_fwd_gpio_get_multiple(struct gpiochip_fwd *fwd, | |
| unsigned long *mask, | |
| unsigned long *bits); | |
| int gpiochip_fwd_gpio_set(struct gpiochip_fwd *fwd, unsigned int offset, | |
| int value); | |
| int gpiochip_fwd_gpio_set_multiple(struct gpiochip_fwd *fwd, | |
| unsigned long *mask, | |
| unsigned long *bits); | |
| int gpiochip_fwd_gpio_set_config(struct gpiochip_fwd *fwd, unsigned int offset, | |
| unsigned long config); | |
| int gpiochip_fwd_gpio_to_irq(struct gpiochip_fwd *fwd, unsigned int offset); | |
| #endif |