iio:adc:exynos-adc: Use new IRQF_NO_AUTOEN flag rather than separate irq_disable()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Fri, 2 Apr 2021 18:45:39 +0000 (19:45 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 7 Apr 2021 07:36:39 +0000 (08:36 +0100)
Disabling an irq before the driver has actually atempted to request it
may work, but is definitely not as clean as just requesting it as
normal but with the auto enable disabled.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Barry Song <song.bao.hua@hisilicon.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20210402184544.488862-3-jic23@kernel.org
drivers/iio/adc/exynos_adc.c

index 784c10d..8c98d8c 100644 (file)
@@ -778,9 +778,9 @@ static int exynos_adc_ts_init(struct exynos_adc *info)
                return ret;
        }
 
-       disable_irq(info->tsirq);
        ret = request_threaded_irq(info->tsirq, NULL, exynos_ts_isr,
-                                  IRQF_ONESHOT, "touchscreen", info);
+                                  IRQF_ONESHOT | IRQF_NO_AUTOEN,
+                                  "touchscreen", info);
        if (ret)
                input_unregister_device(info->input);