aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpiolib.h
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2018-09-20 08:36:36 -0700
committerLinus Walleij <linus.walleij@linaro.org>2018-09-20 08:36:36 -0700
commita2ab1703748197b166c85b40d08a8d1fb612f55b (patch)
treeedf2990bfc41058e1864dca926e6659127191525 /drivers/gpio/gpiolib.h
parentgpio: OF: Remove bad practice examples (diff)
parentgpiolib: Implement fast processing path in get/set array (diff)
downloadlinux-dev-a2ab1703748197b166c85b40d08a8d1fb612f55b.tar.xz
linux-dev-a2ab1703748197b166c85b40d08a8d1fb612f55b.zip
Merge branch 'ib-array-bitmaps' into devel
Diffstat (limited to 'drivers/gpio/gpiolib.h')
-rw-r--r--drivers/gpio/gpiolib.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/gpio/gpiolib.h b/drivers/gpio/gpiolib.h
index e9a86f4b00e3..f23a0c681494 100644
--- a/drivers/gpio/gpiolib.h
+++ b/drivers/gpio/gpiolib.h
@@ -183,15 +183,26 @@ static inline bool acpi_can_fallback_to_crs(struct acpi_device *adev,
}
#endif
+struct gpio_array {
+ struct gpio_desc **desc;
+ unsigned int size;
+ struct gpio_chip *chip;
+ unsigned long *get_mask;
+ unsigned long *set_mask;
+ unsigned long invert_mask[];
+};
+
struct gpio_desc *gpiochip_get_desc(struct gpio_chip *chip, u16 hwnum);
int gpiod_get_array_value_complex(bool raw, bool can_sleep,
unsigned int array_size,
struct gpio_desc **desc_array,
- int *value_array);
+ struct gpio_array *array_info,
+ unsigned long *value_bitmap);
int gpiod_set_array_value_complex(bool raw, bool can_sleep,
unsigned int array_size,
struct gpio_desc **desc_array,
- int *value_array);
+ struct gpio_array *array_info,
+ unsigned long *value_bitmap);
/* This is just passed between gpiolib and devres */
struct gpio_desc *gpiod_get_from_of_node(struct device_node *node,