]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: adc: ad4062: Replace IRQF_ONESHOT with IRQF_NO_THREAD
authorFelix Gu <ustc.gu@gmail.com>
Mon, 23 Feb 2026 06:45:13 +0000 (14:45 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 1 Mar 2026 11:20:11 +0000 (11:20 +0000)
In ad4062_request_irq(), when request irq for "gp1", the code uses
IRQF_ONESHOT flag, which is not appropriate for a primary handler
that does not have a secondary threaded handler.

And since commit aef30c8d569c ("genirq: Warn about using IRQF_ONESHOT
without a threaded handler"), the IRQ core checks IRQF_ONESHOT flag
in IRQ request and gives a warning if there is no threaded handler.

Since there is no threaded handler, replace devm_request_threaded_irq
with devm_request_irq, and replace IRQF_ONESHOT with IRQF_NO_THREAD.

Also remove an extraneous semicolon at the end of
ad4062_write_raw_dispatch().

Found by code review, compile pass.

Fixes: d5284402d28f ("iio: adc: Add support for ad4062")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ad4062.c

index dd4ad32aa6f53c2662a1c085a94ec54a85b8cfa2..8b03736d55fcc8b5348e93082f7779f5f4660366 100644 (file)
@@ -719,10 +719,8 @@ static int ad4062_request_irq(struct iio_dev *indio_dev)
        }
        st->gpo_irq[1] = true;
 
-       return devm_request_threaded_irq(dev, ret,
-                                        ad4062_irq_handler_drdy,
-                                        NULL, IRQF_ONESHOT, indio_dev->name,
-                                        indio_dev);
+       return devm_request_irq(dev, ret, ad4062_irq_handler_drdy,
+                               IRQF_NO_THREAD, indio_dev->name, indio_dev);
 }
 
 static const struct iio_trigger_ops ad4062_trigger_ops = {
@@ -955,7 +953,7 @@ static int ad4062_write_raw_dispatch(struct ad4062_state *st, int val, int val2,
        default:
                return -EINVAL;
        }
-};
+}
 
 static int ad4062_write_raw(struct iio_dev *indio_dev,
                            struct iio_chan_spec const *chan, int val,