Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __LINUX_GPIO_FORWARDER_H
3#define __LINUX_GPIO_FORWARDER_H
4
5struct gpio_desc;
6struct gpio_chip;
7struct gpiochip_fwd;
8
9struct gpiochip_fwd *devm_gpiochip_fwd_alloc(struct device *dev,
10 unsigned int ngpios);
11int gpiochip_fwd_desc_add(struct gpiochip_fwd *fwd,
12 struct gpio_desc *desc, unsigned int offset);
13void gpiochip_fwd_desc_free(struct gpiochip_fwd *fwd, unsigned int offset);
14int gpiochip_fwd_register(struct gpiochip_fwd *fwd, void *data);
15
16struct gpio_chip *gpiochip_fwd_get_gpiochip(struct gpiochip_fwd *fwd);
17
18void *gpiochip_fwd_get_data(struct gpiochip_fwd *fwd);
19
20int gpiochip_fwd_gpio_request(struct gpiochip_fwd *fwd, unsigned int offset);
21int gpiochip_fwd_gpio_get_direction(struct gpiochip_fwd *fwd,
22 unsigned int offset);
23int gpiochip_fwd_gpio_direction_input(struct gpiochip_fwd *fwd,
24 unsigned int offset);
25int gpiochip_fwd_gpio_direction_output(struct gpiochip_fwd *fwd,
26 unsigned int offset,
27 int value);
28int gpiochip_fwd_gpio_get(struct gpiochip_fwd *fwd, unsigned int offset);
29int gpiochip_fwd_gpio_get_multiple(struct gpiochip_fwd *fwd,
30 unsigned long *mask,
31 unsigned long *bits);
32int gpiochip_fwd_gpio_set(struct gpiochip_fwd *fwd, unsigned int offset,
33 int value);
34int gpiochip_fwd_gpio_set_multiple(struct gpiochip_fwd *fwd,
35 unsigned long *mask,
36 unsigned long *bits);
37int gpiochip_fwd_gpio_set_config(struct gpiochip_fwd *fwd, unsigned int offset,
38 unsigned long config);
39int gpiochip_fwd_gpio_to_irq(struct gpiochip_fwd *fwd, unsigned int offset);
40
41#endif