Re: [PATCH v2] iio: sx9310: Fix semtech,avg-pos-strength setting when > 16

From: Stephen Boyd
Date: Wed Dec 02 2020 - 14:33:44 EST


Quoting Jonathan Cameron (2020-11-21 07:02:45)
> On Sat, 21 Nov 2020 14:58:49 +0000
> Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>
> > On Fri, 20 Nov 2020 10:29:44 -0800
> > Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote:
> > > diff --git a/drivers/iio/proximity/sx9310.c b/drivers/iio/proximity/sx9310.c
> > > index a2f820997afc..ee1b4ff05a37 100644
> > > --- a/drivers/iio/proximity/sx9310.c
> > > +++ b/drivers/iio/proximity/sx9310.c
> > > @@ -1305,7 +1305,7 @@ sx9310_get_default_reg(struct sx9310_data *data, int i,
> > > if (ret)
> > > break;
> > >
> > > - pos = min(max(ilog2(pos), 3), 10) - 3;
> > > + pos = min(max(ilog2(pos), 3), 11) - (pos >= 32 ? 4 : 3);
> >
> > Given this is now rather tricky to read, I'd just do an explicit lookup of
> > the allowed values. Probably just a switch statement.
> As an alternative, a comment would help saying that it's powers of 2 except
> for a gap at 64.
>

Ok. I'll update with a comment.