Lines Matching defs:gpio
3 * gpio-max3191x.c - GPIO driver for Maxim MAX3191x industrial serializer
24 * gpio-pisosr.c can be used alternatively to this driver.
36 #include <linux/gpio/consumer.h>
37 #include <linux/gpio/driver.h>
48 * @gpio: GPIO controller struct
73 struct gpio_chip gpio;
96 static int max3191x_get_direction(struct gpio_chip *gpio, unsigned int offset)
101 static int max3191x_direction_input(struct gpio_chip *gpio, unsigned int offset)
106 static int max3191x_direction_output(struct gpio_chip *gpio,
112 static void max3191x_set(struct gpio_chip *gpio, unsigned int offset, int value)
115 static void max3191x_set_multiple(struct gpio_chip *gpio, unsigned long *mask,
126 struct device *dev = max3191x->gpio.parent;
207 static int max3191x_get(struct gpio_chip *gpio, unsigned int offset)
209 struct max3191x_chip *max3191x = gpiochip_get_data(gpio);
232 static int max3191x_get_multiple(struct gpio_chip *gpio, unsigned long *mask,
235 struct max3191x_chip *max3191x = gpiochip_get_data(gpio);
247 bitmap_zero(bits, gpio->ngpio);
248 for_each_set_clump8(bit, gpio_mask, mask, gpio->ngpio) {
266 static int max3191x_set_config(struct gpio_chip *gpio, unsigned int offset,
269 struct max3191x_chip *max3191x = gpiochip_get_data(gpio);
419 max3191x->gpio.label = spi->modalias;
420 max3191x->gpio.owner = THIS_MODULE;
421 max3191x->gpio.parent = dev;
422 max3191x->gpio.base = -1;
423 max3191x->gpio.ngpio = max3191x->nchips * MAX3191X_NGPIO;
424 max3191x->gpio.can_sleep = true;
426 max3191x->gpio.get_direction = max3191x_get_direction;
427 max3191x->gpio.direction_input = max3191x_direction_input;
428 max3191x->gpio.direction_output = max3191x_direction_output;
429 max3191x->gpio.set = max3191x_set;
430 max3191x->gpio.set_multiple = max3191x_set_multiple;
431 max3191x->gpio.get = max3191x_get;
432 max3191x->gpio.get_multiple = max3191x_get_multiple;
433 max3191x->gpio.set_config = max3191x_set_config;
437 ret = gpiochip_add_data(&max3191x->gpio, max3191x);
450 gpiochip_remove(&max3191x->gpio);