Re: [PATCH 3/3] iio: proximity: Add Benewake TF-Luna LiDAR driver
From: Andy Shevchenko
Date: Tue Oct 20 2026 - 03:45:12 EST
On Tue, Oct 20, 2026 at 09:23:16AM +0200, Joshua Crofts wrote:
> On Tue, 20 Oct 2026 00:03:43 +0530
> Vidhu Sarwal via B4 Relay <devnull+vidhu.linux.gmail.com@xxxxxxxxxx> wrote:
...
> > When the signal strength is too low the sensor reports a dummy distance
> > of 0, so such readings, as well as overexposed ones, return -ENODATA
> > instead of a distance.
> >
> > The datasheet is available at:
> > https://en.benewake.com/uploadfiles/2025/04/20250430174501874.pdf
Make it Datasheet tag.
> > Signed-off-by: Vidhu Sarwal <vidhu.linux@xxxxxxxxx>
...
> > +/* A measurement takes 10-20 ms in trigger mode */
> > +#define TF_LUNA_POLL_US (2 * USEC_PER_MSEC)
> > +#define TF_LUNA_TIMEOUT_US (100 * USEC_PER_MSEC)
>
> uS is better instead of US.
Currently _US is established suffix, unfortunately. But I have no strong
opinion here, I'm full to support _uS, but OTOH the _US will be consistent.
...
> > +static const struct regmap_config tf_luna_regmap_config = {
> > + .reg_bits = 8,
> > + .val_bits = 8,
> > + .max_register = TF_LUNA_REG_SIGNATURE + 3,
No cache?
> > +};
...
> > +static int tf_luna_measure(struct tf_luna_data *data, int *dist)
> > +{
> > + __le16 buf[2]; /* distance in cm, signal strength */
> > + u16 old_tick, tick, amp;
> > + int ret, err;
> > +
> > + guard(mutex)(&data->lock);
> > +
> > + ret = tf_luna_read_tick(data, &old_tick);
> > + if (ret)
> > + return ret;
> > +
> > + ret = regmap_write(data->regmap, TF_LUNA_REG_TRIG_ONE_SHOT,
> > + TF_LUNA_TRIG_ONE_SHOT);
> Why not have a local variable for regmap? It would allow the previous call
> to fit on one line.
Almost, but I agree.
ret = regmap_write(map, TF_LUNA_REG_TRIG_ONE_SHOT, TF_LUNA_TRIG_ONE_SHOT);
--
With Best Regards,
Andy Shevchenko