Messages in this thread Patch in this message | | | From | Johan Hovold <> | Subject | [PATCH 03/23] gpio: sysfs: drop redundant lock-as-irq | Date | Tue, 21 Apr 2015 17:42:11 +0200 |
| |
Drop redundant lock-as-irq in gpio_setup_irq, which has already been handled when requesting and releasing the irq (i.e. in the irq chip irq_request_resources and irq_release_resources callbacks).
Note that we would be leaking the irq in the gpiochip_lock_as_irq error path if the (second) explicit call ever failed.
Signed-off-by: Johan Hovold <johan@kernel.org> --- drivers/gpio/gpiolib-sysfs.c | 7 ------- 1 file changed, 7 deletions(-)
diff --git a/drivers/gpio/gpiolib-sysfs.c b/drivers/gpio/gpiolib-sysfs.c index af3bc7a8033b..d87f595a02ce 100644 --- a/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c @@ -161,7 +161,6 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev, desc->flags &= ~GPIO_TRIGGER_MASK; if (!gpio_flags) { - gpiochip_unlock_as_irq(desc->chip, gpio_chip_hwgpio(desc)); ret = 0; goto free_id; } @@ -200,12 +199,6 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev, if (ret < 0) goto free_id; - ret = gpiochip_lock_as_irq(desc->chip, gpio_chip_hwgpio(desc)); - if (ret < 0) { - gpiod_warn(desc, "failed to flag the GPIO for IRQ\n"); - goto free_id; - } - desc->flags |= gpio_flags; return 0; -- 2.0.5
| |