mbox series

[v3,0/6] iio: accel: adxl345: Add spi-3wire feature

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

Message

Lothar Rubusch March 23, 2024, 12:20 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, remove I2C and SPI redundant info
instances and replace them by a common info array instance.

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

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(-)

Comments

Jonathan Cameron March 24, 2024, 1:39 p.m. UTC | #1
On Sat, 23 Mar 2024 12:20:24 +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, remove I2C and SPI redundant info
> instances and replace them by a common info array instance.
> 
> Signed-off-by: Lothar Rubusch <l.rubusch@gmail.com>
That patch break up seems reasonable (one minor request for a split
in the relevant patch), but normal convention would be do do
refactoring first, then functionality at the end. Also removal stuff
and group, before adding things. 

So roughly speaking reorder as

>   iio: accel: adxl345: Make data_format obsolete
>   iio: accel: adxl345: Remove single info instances
>   iio: accel: adxl345: Group bus configuration
>   dt-bindings: iio: accel: adxl345: Add spi-3wire
>   iio: accel: adxl345: Pass function pointer to core
>   iio: accel: adxl345: Add the spi-3wire

Thanks,

Jonathan



> ---
> 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(-)
>
Lothar Rubusch March 24, 2024, 7:20 p.m. UTC | #2
On Sun, Mar 24, 2024 at 2:39 PM Jonathan Cameron <jic23@kernel.org> wrote:
>
> On Sat, 23 Mar 2024 12:20:24 +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, remove I2C and SPI redundant info
> > instances and replace them by a common info array instance.
> >
> > Signed-off-by: Lothar Rubusch <l.rubusch@gmail.com>
> That patch break up seems reasonable (one minor request for a split
> in the relevant patch), but normal convention would be do do
> refactoring first, then functionality at the end. Also removal stuff
> and group, before adding things.
>
> So roughly speaking reorder as
>
> >   iio: accel: adxl345: Make data_format obsolete
> >   iio: accel: adxl345: Remove single info instances
> >   iio: accel: adxl345: Group bus configuration
> >   dt-bindings: iio: accel: adxl345: Add spi-3wire
> >   iio: accel: adxl345: Pass function pointer to core
> >   iio: accel: adxl345: Add the spi-3wire
>

Ok. If I split "Group bus configuration" into the grouping of the
indio_dev in the probe() and adding a comment to the core's probe(), I
will end up with something like this:

$ git log --oneline --reverse
 iio: accel: adxl345: Make data_range obsolete
 iio: accel: adxl345: Group bus configuration
 iio: accel: adxl345: Move defines to header <--- new
 dt-bindings: iio: accel: adxl345: Add spi-3wire
 iio: accel: adxl345: Pass function pointer to core
 iio: accel: adxl345: Add comment to probe  <--- new after split
 iio: accel: adxl345: Add spi-3wire option

I feel I have to add the comment after adding the passed function
pointer. Bascially I liked to add a comment mentioning especially the
new function pointer there. So, although being a comment, the commit
will be in this "high" position. Is this ok, or am I doing something
wrong? Should I split into setting the comment first, then inside
"Pass function pointer.." also update the comment?
Jonathan Cameron March 25, 2024, 2:51 p.m. UTC | #3
On Sun, 24 Mar 2024 20:20:21 +0100
Lothar Rubusch <l.rubusch@gmail.com> wrote:

> On Sun, Mar 24, 2024 at 2:39 PM Jonathan Cameron <jic23@kernel.org> wrote:
> >
> > On Sat, 23 Mar 2024 12:20:24 +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, remove I2C and SPI redundant info
> > > instances and replace them by a common info array instance.
> > >
> > > Signed-off-by: Lothar Rubusch <l.rubusch@gmail.com>  
> > That patch break up seems reasonable (one minor request for a split
> > in the relevant patch), but normal convention would be do do
> > refactoring first, then functionality at the end. Also removal stuff
> > and group, before adding things.
> >
> > So roughly speaking reorder as
> >  
> > >   iio: accel: adxl345: Make data_format obsolete
> > >   iio: accel: adxl345: Remove single info instances
> > >   iio: accel: adxl345: Group bus configuration
> > >   dt-bindings: iio: accel: adxl345: Add spi-3wire
> > >   iio: accel: adxl345: Pass function pointer to core
> > >   iio: accel: adxl345: Add the spi-3wire  
> >  
> 
> Ok. If I split "Group bus configuration" into the grouping of the
> indio_dev in the probe() and adding a comment to the core's probe(), I
> will end up with something like this:
> 
> $ git log --oneline --reverse
>  iio: accel: adxl345: Make data_range obsolete
>  iio: accel: adxl345: Group bus configuration
>  iio: accel: adxl345: Move defines to header <--- new
>  dt-bindings: iio: accel: adxl345: Add spi-3wire
>  iio: accel: adxl345: Pass function pointer to core
>  iio: accel: adxl345: Add comment to probe  <--- new after split
>  iio: accel: adxl345: Add spi-3wire option
> 
> I feel I have to add the comment after adding the passed function
> pointer. Bascially I liked to add a comment mentioning especially the
> new function pointer there. So, although being a comment, the commit
> will be in this "high" position. Is this ok, or am I doing something
> wrong? Should I split into setting the comment first, then inside
> "Pass function pointer.." also update the comment?

This is fine.  Either of the options you suggest would be fine, but
given you've done the above already let's go with that.

Jonathan

>