aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/gpio
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2017-11-07 13:15:51 -0500
committerLinus Walleij <linus.walleij@linaro.org>2017-11-08 08:09:24 -0500
commitdc6bafee86897419b0908e8d1e52ef46ca0ea487 (patch)
tree014392c352a1d35032a7290051a9b60af1e93e81 /include/linux/gpio
parent39e5f0969514fbfd6c235ac52586c72ca77cee00 (diff)
gpio: Move irq_nested into struct gpio_irq_chip
In order to consolidate the multiple ways to associate an IRQ chip with a GPIO chip, move more fields into the new struct gpio_irq_chip. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/linux/gpio')
-rw-r--r--include/linux/gpio/driver.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
index 86f00d908e90..1c3d06fe54b1 100644
--- a/include/linux/gpio/driver.h
+++ b/include/linux/gpio/driver.h
@@ -92,6 +92,13 @@ struct gpio_irq_chip {
92 * driver, so the core will only reference this list, not modify it. 92 * driver, so the core will only reference this list, not modify it.
93 */ 93 */
94 unsigned int *parents; 94 unsigned int *parents;
95
96 /**
97 * @nested:
98 *
99 * True if set the interrupt handling is nested.
100 */
101 bool nested;
95}; 102};
96 103
97static inline struct gpio_irq_chip *to_gpio_irq_chip(struct irq_chip *chip) 104static inline struct gpio_irq_chip *to_gpio_irq_chip(struct irq_chip *chip)
@@ -163,7 +170,6 @@ static inline struct gpio_irq_chip *to_gpio_irq_chip(struct irq_chip *chip)
163 * safely. 170 * safely.
164 * @bgpio_dir: shadowed direction register for generic GPIO to clear/set 171 * @bgpio_dir: shadowed direction register for generic GPIO to clear/set
165 * direction safely. 172 * direction safely.
166 * @irq_nested: True if set the interrupt handling is nested.
167 * @irq_need_valid_mask: If set core allocates @irq_valid_mask with all 173 * @irq_need_valid_mask: If set core allocates @irq_valid_mask with all
168 * bits set to one 174 * bits set to one
169 * @irq_valid_mask: If not %NULL holds bitmask of GPIOs which are valid to 175 * @irq_valid_mask: If not %NULL holds bitmask of GPIOs which are valid to
@@ -238,7 +244,6 @@ struct gpio_chip {
238 * With CONFIG_GPIOLIB_IRQCHIP we get an irqchip inside the gpiolib 244 * With CONFIG_GPIOLIB_IRQCHIP we get an irqchip inside the gpiolib
239 * to handle IRQs for most practical cases. 245 * to handle IRQs for most practical cases.
240 */ 246 */
241 bool irq_nested;
242 bool irq_need_valid_mask; 247 bool irq_need_valid_mask;
243 unsigned long *irq_valid_mask; 248 unsigned long *irq_valid_mask;
244 struct lock_class_key *lock_key; 249 struct lock_class_key *lock_key;