diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-10-12 06:56:25 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-10-12 06:56:25 -0400 |
commit | 60bd7be764e8adada97034b4836875b3e449bd7c (patch) | |
tree | 1a0797a089f19627932a0256339662cb4f79b4d2 | |
parent | ef0e75a47c4ad518aa3c91bb6a86a329b890f263 (diff) | |
parent | 3e779a2e7f909015f21428b66834127496110b6d (diff) |
Merge tag 'gpio-v4.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio
Linus writes:
"GPIO fix for the v4.19 series:
- Fix up the interrupt parent for the irqdomains."
* tag 'gpio-v4.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
gpio: Assign gpio_irq_chip::parents to non-stack pointer
-rw-r--r-- | drivers/gpio/gpiolib.c | 3 | ||||
-rw-r--r-- | include/linux/gpio/driver.h | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index a57300c1d649..25187403e3ac 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c | |||
@@ -1682,7 +1682,8 @@ static void gpiochip_set_cascaded_irqchip(struct gpio_chip *gpiochip, | |||
1682 | irq_set_chained_handler_and_data(parent_irq, parent_handler, | 1682 | irq_set_chained_handler_and_data(parent_irq, parent_handler, |
1683 | gpiochip); | 1683 | gpiochip); |
1684 | 1684 | ||
1685 | gpiochip->irq.parents = &parent_irq; | 1685 | gpiochip->irq.parent_irq = parent_irq; |
1686 | gpiochip->irq.parents = &gpiochip->irq.parent_irq; | ||
1686 | gpiochip->irq.num_parents = 1; | 1687 | gpiochip->irq.num_parents = 1; |
1687 | } | 1688 | } |
1688 | 1689 | ||
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index 0ea328e71ec9..a4d5eb37744a 100644 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h | |||
@@ -95,6 +95,13 @@ struct gpio_irq_chip { | |||
95 | unsigned int num_parents; | 95 | unsigned int num_parents; |
96 | 96 | ||
97 | /** | 97 | /** |
98 | * @parent_irq: | ||
99 | * | ||
100 | * For use by gpiochip_set_cascaded_irqchip() | ||
101 | */ | ||
102 | unsigned int parent_irq; | ||
103 | |||
104 | /** | ||
98 | * @parents: | 105 | * @parents: |
99 | * | 106 | * |
100 | * A list of interrupt parents of a GPIO chip. This is owned by the | 107 | * A list of interrupt parents of a GPIO chip. This is owned by the |