diff options
| author | Dave Airlie <airlied@redhat.com> | 2020-03-31 15:15:47 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2020-03-31 15:15:47 +1000 |
| commit | 5fc0df93fccd4dc8412bfc488ba4ba8268aa12dc (patch) | |
| tree | 6091ced63dbba747619762470ebba2298676ea0d /drivers/gpio/gpiolib.c | |
| parent | 700d6ab987f3b5e28b13b5993e5a9a975c5604e2 (diff) | |
| parent | 7111951b8d4973bda27ff663f2cf18b663d15b48 (diff) | |
Merge v5.6 into drm-next
msm needed rc6, so I just went and merged release
(msm has been in drm-next outside of this tree)
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpio/gpiolib.c')
| -rw-r--r-- | drivers/gpio/gpiolib.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 4d0106ceeba7..00fb91feba70 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -2306,9 +2306,16 @@ static void gpiochip_irq_disable(struct irq_data *d) { struct gpio_chip *chip = irq_data_get_irq_chip_data(d); + /* + * Since we override .irq_disable() we need to mimic the + * behaviour of __irq_disable() in irq/chip.c. + * First call .irq_disable() if it exists, else mimic the + * behaviour of mask_irq() which calls .irq_mask() if + * it exists. + */ if (chip->irq.irq_disable) chip->irq.irq_disable(d); - else + else if (chip->irq.chip->irq_mask) chip->irq.chip->irq_mask(d); gpiochip_disable_irq(chip, d->hwirq); } |
