diff options
Diffstat (limited to 'drivers/gpio/gpiolib.h')
| -rw-r--r-- | drivers/gpio/gpiolib.h | 25 | 
1 files changed, 17 insertions, 8 deletions
diff --git a/drivers/gpio/gpiolib.h b/drivers/gpio/gpiolib.h index a7e49fef73d4..087d865286a0 100644 --- a/drivers/gpio/gpiolib.h +++ b/drivers/gpio/gpiolib.h @@ -1,12 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 */  /*   * Internal GPIO functions.   *   * Copyright (C) 2013, Intel Corporation   * Author: Mika Westerberg <mika.westerberg@linux.intel.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation.   */  #ifndef GPIOLIB_H @@ -183,15 +180,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); +				  unsigned int array_size, +				  struct gpio_desc **desc_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, @@ -214,6 +222,7 @@ struct gpio_desc {  #define FLAG_OPEN_DRAIN	7	/* Gpio is open drain type */  #define FLAG_OPEN_SOURCE 8	/* Gpio is open source type */  #define FLAG_USED_AS_IRQ 9	/* GPIO is connected to an IRQ */ +#define FLAG_IRQ_IS_ENABLED 10	/* GPIO is connected to an enabled IRQ */  #define FLAG_IS_HOGGED	11	/* GPIO is hogged */  #define FLAG_TRANSITORY 12	/* GPIO may lose value in sleep or reset */  | 
