[PATCH v1 0/7] iio: light: gp2ap020a00f: Set of ad-hoc cleanups

From: Andy Shevchenko

Date: Tue Feb 17 2026 - 05:23:34 EST


While reviewing the series from Ethan, I looked at the code of the driver
and found a lot of room to improve. Also there are some questions about
how driver was tested initially.

The third patch reveals the strange asymmetry (and I believe a few bugs)
in the state machine with commands where some clear_bit() and set_bit()
are being called in the error cases as well. This needs a serious audit
of the driver algorithm for which I don't have time, nor possess the HW.

The fourth patch moves error check in one case into the loop, and hence
I think fixes a preexisted bug. Perhaps this needs to be added to the commit
message and/or split to a separate change.

The rest of the patches do not affect functional behaviour. It might be that
the first one needs more thorough review.

Note, this series is not tested at all and I rely on Ethan to make necessary
compilation tests and rebase again, as it's based on his series and includes
something that has to be initially in his patches.

Andy Shevchenko (7):
iio: light: gp2ap020a00f: Use correct types for 16-bit LE data
iio: light: gp2ap020a00f: Replace custom implementation of min()
iio: light: gp2ap020a00f: Return directly from the switch cases
iio: light: gp2ap020a00f: Use temporary variable for struct device
iio: light: gp2ap020a00f: Explicitly use string literal for driver
name
iio: light: gp2ap020a00f: Remove trailing comma in termination entry
iio: light: gp2ap020a00f: Join some lines of code to be a single line

drivers/iio/light/gp2ap020a00f.c | 210 +++++++++++++------------------
1 file changed, 84 insertions(+), 126 deletions(-)

--
2.50.1