iio:adc:nau7802: Use IRQF_NO_AUTOEN instead of request then disable

Whilst a race during interrupt enabling is probably not a problem,
it is better to not enable the interrupt at all.  The new
IRQF_NO_AUTOEN flag allows us to do that.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Reviewed-by: Barry Song <song.bao.hua@hisilicon.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-4-jic23@kernel.org
This commit is contained in:
Jonathan Cameron 2021-04-02 19:45:40 +01:00
parent 42004ceb34
commit aef3ef1659
1 changed files with 3 additions and 3 deletions

View File

@ -498,7 +498,8 @@ static int nau7802_probe(struct i2c_client *client,
ret = request_threaded_irq(client->irq, ret = request_threaded_irq(client->irq,
NULL, NULL,
nau7802_eoc_trigger, nau7802_eoc_trigger,
IRQF_TRIGGER_HIGH | IRQF_ONESHOT, IRQF_TRIGGER_HIGH | IRQF_ONESHOT |
IRQF_NO_AUTOEN,
client->dev.driver->name, client->dev.driver->name,
indio_dev); indio_dev);
if (ret) { if (ret) {
@ -513,8 +514,7 @@ static int nau7802_probe(struct i2c_client *client,
dev_info(&client->dev, dev_info(&client->dev,
"Failed to allocate IRQ, using polling mode\n"); "Failed to allocate IRQ, using polling mode\n");
client->irq = 0; client->irq = 0;
} else }
disable_irq(client->irq);
} }
if (!client->irq) { if (!client->irq) {