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.