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, remove I2C and SPI redundant info instances and replace them by a common info array instance. Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx> --- V1 -> V2: split into spi-3wire and refactoring V2 -> V3: split further, focus on needed changesets Lothar Rubusch (6): iio: accel: adxl345: Pass function pointer to core iio: accel: adxl345: Make data_format obsolete iio: accel: adxl345: Add the spi-3wire iio: accel: adxl345: Remove single info instances iio: accel: adxl345: Group bus configuration dt-bindings: iio: accel: adxl345: Add spi-3wire .../bindings/iio/accel/adi,adxl345.yaml | 2 + drivers/iio/accel/adxl345.h | 13 ++++- drivers/iio/accel/adxl345_core.c | 48 +++++++++++++++---- drivers/iio/accel/adxl345_i2c.c | 22 +++------ drivers/iio/accel/adxl345_spi.c | 32 ++++++------- 5 files changed, 75 insertions(+), 42 deletions(-) -- 2.25.1