Message ID | 20240401194906.56810-1-l.rubusch@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | iio: accel: adxl345: Add spi-3wire feature | expand |
On Mon, 1 Apr 2024 19:48:58 +0000 Lothar Rubusch <l.rubusch@gmail.com> wrote: > 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@gmail.com> Series applied to the togreg branch of iio.git and pushed out initially as testing to let 0-day work it's magic (find build issues for us!) I'll push it out for linux-next to pick up sometime in next week (ish) Jonathan > --- > 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(-) >
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@gmail.com> --- 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(-)