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 784c10deeb1a04ee374abe514a3a499794d58432..8c98d8c9ab1f8dc0cf8aa113897dc1cfcad8da1d 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);