Re: [PATCH v6 3/4] iio: light: veml6031x00: add support for triggered buffers
Jonathan Cameron <[email protected]>
| Newsgroups | org.kernel.vger.linux-devicetree,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260813020958.5fc3f0da@jic23-huawei> |
On Wed, 12 Aug 2026 22:27:42 +0200 Javier Carrasco <[email protected]> wrote: > Add triggered buffer functionality for the two channels the device > provides (ALS and IR). > > Signed-off-by: Javier Carrasco <[email protected]> A very trivial comment inline. Feel free to ignore! > diff --git a/drivers/iio/light/veml6031x00.c b/drivers/iio/light/veml6031x00.c > index 021bf726c60b..43a701f62aea 100644 > --- a/drivers/iio/light/veml6031x00.c > +++ b/drivers/iio/light/veml6031x00.c > + > +static irqreturn_t veml6031x00_trig_handler(int irq, void *p) > +{ > + struct iio_poll_func *pf = p; > + struct iio_dev *iio = pf->indio_dev; > + struct veml6031x00_data *data = iio_priv(iio); > + IIO_DECLARE_BUFFER_WITH_TS(__le16, scan, 2) = { }; > + unsigned int i = 0; > + int ch, ret; > + > + if (test_bit(VEML6031X00_SCAN_ALS, iio->active_scan_mask) && > + test_bit(VEML6031X00_SCAN_IR, iio->active_scan_mask)) { > + ret = regmap_bulk_read(data->regmap, > + VEML6031X00_REG_ALS_L, > + scan, > + 2 * sizeof(*scan)); I don't care that much, but you could combine parameters on one line in a few more places to reduced the code length a little. e.g. I'd be tempted to put the two lines above on one line or even ret = regmap_bulk_read(data->regmap, VEML6031X00_REG_ALS_L, scan, 2 * sizeof(*scan)); > + if (ret) > + goto done; > + } else { > + iio_for_each_active_channel(iio, ch) { > + ret = regmap_bulk_read(data->regmap, > + iio->channels[ch].address, > + &scan[i++], > + sizeof(*scan)); > + if (ret) > + goto done; > + } > + } > + > + iio_push_to_buffers_with_ts(iio, scan, sizeof(scan), pf->timestamp); > + > +done: > + iio_trigger_notify_done(iio->trig); > + > + return IRQ_HANDLED; > +}