Re: [PATCH 0/4] staging: iio: ad7150: improve driver readability

From: Alexandru Ardelean
Date: Sat May 04 2019 - 10:42:55 EST


On Sat, May 4, 2019 at 2:12 PM Alexandru Ardelean
<ardeleanalex@xxxxxxxxx> wrote:
>
> On Sat, May 4, 2019 at 1:24 AM Melissa Wen <melissa.srw@xxxxxxxxx> wrote:
> >
> > This patchset solves readability issues in AD7150 code, such as clarify
> > register and mask definition, fashion improvement of mask uses, reduce
> > tedious operation and useless comments.
> >
>
> Hey,
>
> Two patches seem a bit noisy/un-needed.
> The other 2 are fine from me.
>
> This driver does need some work to move it out of staging.
> I am not sure what would be a big blocker for it, other than maybe it
> needs a device-tree binding doc (in YAML format).
> Maybe Jonathan remembers.
>
> Some other low-hanging-fruit ideas would be:
> 1) remove the code for platform_data ; that one seems forgotten from
> some other time; the interrupts should be coming from device-tree,
> from the i2c bindings
> 2) you could do a AD7150_EVENT_SPEC() macro (similar to
> AD7150_TIMEOUT() macro) and use it in the ad7150_events[] list; that
> would reduce a few lines
> 3) similar to 2), you could do a AD7150_CHANNEL(x) macro ;
> 4) in ad7150_event_handler() the checks could be wrapped into a macro,
> or maybe some function ; i am referring to "(int_status &
> AD7150_STATUS_OUT1) && (chip->old_state & AD7150_STATUS_OUT1)" checks
> ; those seem to be repeated
> 5) add of_match_table to the driver
>
> I (now) suspect that the reason this driver is still in staging is this comment:
> /* Timeouts not currently handled by core */
>
> I wonder if things changed since then ?
> If not, it would be interesting to implement it in core.
>

I forgot to mention the wiki page for the driver:
https://wiki.analog.com/resources/tools-software/linux-drivers/iio-cdc/ad7150

it may help with a few things

> Thanks
> Alex
>
>
> > Melissa Wen (4):
> > staging: iio: ad7150: organize registers definition
> > staging: iio: ad7150: use FIELD_GET and GENMASK
> > staging: iio: ad7150: simplify i2c SMBus return treatment
> > staging: iio: ad7150: clean up of comments
> >
> > drivers/staging/iio/cdc/ad7150.c | 102 ++++++++++++++-----------------
> > 1 file changed, 47 insertions(+), 55 deletions(-)
> >
> > --
> > 2.20.1
> >