On Fri, Feb 14, 2020 at 6:24 AM Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > > On Sun, 9 Feb 2020 16:10:56 -0800 > Matt Ranostay <matt.ranostay@xxxxxxxxxxxx> wrote: > > > Sensors don't actually need a interrupt line to give valid readings, > > and can triggered with CONFIG_IIO_HRTIMER_TRIGGER as well. Remove > > the required check for interrupt, and continue along in the probe > > function. > > > > Signed-off-by: Matt Ranostay <matt.ranostay@xxxxxxxxxxxx> > > Hi Matt, > > I'm going to hold this for conclusion of the discussion about whether > the interrupt enable / disable should be related to the buffer or the trigger. > (v4 I think...) > Ah yes reading that thread now and think I understand what needs to be changed. However the rest of the series can be merged on its own without any issues. - Matt > Thanks, > > Jonathan > > > --- > > drivers/iio/chemical/atlas-sensor.c | 27 ++++++++++++--------------- > > 1 file changed, 12 insertions(+), 15 deletions(-) > > > > diff --git a/drivers/iio/chemical/atlas-sensor.c b/drivers/iio/chemical/atlas-sensor.c > > index 2f0a6fed2589..9a1ab9f8fcc5 100644 > > --- a/drivers/iio/chemical/atlas-sensor.c > > +++ b/drivers/iio/chemical/atlas-sensor.c > > @@ -572,11 +572,6 @@ static int atlas_probe(struct i2c_client *client, > > if (ret) > > return ret; > > > > - if (client->irq <= 0) { > > - dev_err(&client->dev, "no valid irq defined\n"); > > - return -EINVAL; > > - } > > - > > ret = chip->calibration(data); > > if (ret) > > return ret; > > @@ -596,16 +591,18 @@ static int atlas_probe(struct i2c_client *client, > > > > init_irq_work(&data->work, atlas_work_handler); > > > > - /* interrupt pin toggles on new conversion */ > > - ret = devm_request_threaded_irq(&client->dev, client->irq, > > - NULL, atlas_interrupt_handler, > > - IRQF_TRIGGER_RISING | > > - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, > > - "atlas_irq", > > - indio_dev); > > - if (ret) { > > - dev_err(&client->dev, "request irq (%d) failed\n", client->irq); > > - goto unregister_buffer; > > + if (client->irq > 0) { > > + /* interrupt pin toggles on new conversion */ > > + ret = devm_request_threaded_irq(&client->dev, client->irq, > > + NULL, atlas_interrupt_handler, > > + IRQF_TRIGGER_RISING | > > + IRQF_TRIGGER_FALLING | IRQF_ONESHOT, > > + "atlas_irq", > > + indio_dev); > > + > > + if (ret) > > + dev_warn(&client->dev, > > + "request irq (%d) failed\n", client->irq); > > } > > > > ret = atlas_set_powermode(data, 1); >