[PATCH v7 0/8] iio: accel: adxl345: Add spi-3wire feature

From: Lothar Rubusch
Date: Mon Apr 01 2024 - 15:49:25 EST


Pass a function setup() as pointer from SPI/I2C specific modules to the
core module. Implement setup() to pass the spi-3wire bus option, if
declared in the device-tree.

In the core module then update data_format register configuration bits
instead of overwriting it. The changes allow to remove a data_range field.

Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx>
---
V1 -> V2: Split into spi-3wire and refactoring
V2 -> V3: Split further, focus on needed changesets
V3 -> V4: Drop "Remove single info instances";
split "Group bus configuration" into separat
comment patch; reorder patch set
V4 -> V5: Refrase comments; Align comments to 75; rebuild FORMAT_MASK by
available flags; fix indention
V5 -> V6: Remove FORMAT_MASK by a local variable on call site;
Refrase comments;
Remove unneeded include
V6 -> V7: Restructure optional passing the setup() to core's probe()
Guarantee that initially a regmap_write() was called to init
all bits to a defined state
- When a setup() e.g. for 3wire is passed, then call
regmap_write() inside the setup(). In the following
core's probe() has to call regmap_update()
- When NULL is passed, then call regmap_write() in core's
probe()
- Refactoring: remove obvious comments and simplify code

Lothar Rubusch (8):
iio: accel: adxl345: Make data_range obsolete
iio: accel: adxl345: Group bus configuration
iio: accel: adxl345: Move defines to header
dt-bindings: iio: accel: adxl345: Add spi-3wire
iio: accel: adxl345: Pass function pointer to core
iio: accel: adxl345: Reorder probe initialization
iio: accel: adxl345: Add comment to probe
iio: accel: adxl345: Add spi-3wire option

.../bindings/iio/accel/adi,adxl345.yaml | 2 +
drivers/iio/accel/adxl345.h | 36 +++++++-
drivers/iio/accel/adxl345_core.c | 92 ++++++++++---------
drivers/iio/accel/adxl345_i2c.c | 2 +-
drivers/iio/accel/adxl345_spi.c | 10 +-
5 files changed, 94 insertions(+), 48 deletions(-)

--
2.25.1