[PATCH v3 0/8] Cleanup on I2C/SPI code

From: Rodrigo Siqueira
Date: Fri Mar 23 2018 - 10:21:48 EST


This patchset reworks the I2C/SPI code from meter module. The set of
patches try to reduce the code duplication and make the communication
reliable. The current version of the module had many code duplications,
which make the code more error-prone and hard to read. Jonh Syne
identified some wrong error handling and fixed it in his patches; in
this series of patches I analyzed Jonh's fixes, and use it in the new
code.

It is important to highlight that meter module is under observation, due
to the lack of hardware and the old design of the chip. However, John
has the hardware for testing and interest to help to update the code
[1]. As a result, this patchset represents the first work effort to
update the meter module in the staging.

1 - https://marc.info/?l=linux-iio&m=152046885922153&w=2

Changes in V2:
- Reorganize the patchset to make easier to backport fixes.
- Adds two commits at the beginning of the patchset. First, fixes bugs
related to wrong verification in read/write I2C operations. Second,
adjust the incorrect amount of data read.
- Removes unnecessary code in read/write functions for SPI and I2C
during the rework.

Changes in V3:
- Adds clarifications related to authorship.
- Adds 'fixes' tag on the first two patches message.
- Removes unnecessary defines.
- Updates commit messages to better describe changes.

John Syne (2):
staging:iio:ade7854: Fix error handling on read/write
staging:iio:ade7854: Fix the wrong number of bits to read

Rodrigo Siqueira (6):
staging:iio:ade7854: Rework I2C write function
staging:iio:ade7854: Rework SPI write function
staging:iio:ade7854: Remove write_reg_* duplications
staging:iio:ade7854: Rework I2C read function
staging:iio:ade7854: Rework SPI read function
staging:iio:ade7854: Remove read_reg_* duplications

drivers/staging/iio/meter/ade7854-i2c.c | 238 +++++++++-------------------
drivers/staging/iio/meter/ade7854-spi.c | 268 +++++++-------------------------
drivers/staging/iio/meter/ade7854.c | 40 ++---
drivers/staging/iio/meter/ade7854.h | 16 +-
4 files changed, 152 insertions(+), 410 deletions(-)

--
2.16.2