mbox series

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

Message ID 20240401194906.56810-1-l.rubusch@gmail.com (mailing list archive)
Headers show
Series iio: accel: adxl345: Add spi-3wire feature | expand

Message

Lothar Rubusch April 1, 2024, 7:48 p.m. UTC
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(-)

Comments

Jonathan Cameron April 6, 2024, 3:19 p.m. UTC | #1
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(-)
>