mbox series

[v2,00/60] i2c: reword first drivers according to newest specification

Message ID 20240706112116.24543-1-wsa+renesas@sang-engineering.com
Headers show
Series i2c: reword first drivers according to newest specification | expand

Message

Wolfram Sang July 6, 2024, 11:20 a.m. UTC
Start changing the wording of the I2C main header wrt. the newest I2C
v7 and SMBus 3.2 specifications and replace "master/slave" with more
appropriate terms. This first step renames the members of struct
i2c_algorithm. Once all in-tree users are converted, the anonymous union
will go away again. All this work will also pave the way for finally
seperating the monolithic header into more fine-grained headers like
"i2c/clients.h" etc. So, this is not a simple renaming-excercise but
also a chance to update the I2C core to recent Linux standards.

Changes since v1:

* changed wording according to the terminology we agreed on and defined
  upstream. That means consistent use of "controller/target", and no
  more "host/client". I added "local/remote target" where necessary.
* added tags which I kept despite some changes in wording. The approach
  and code changes (if necessary) did not change.
* rebased to Andi's for-next branch
* this series only contains patches which convert the drivers fully. If
  all goes well, no more updates for them are needed. The previous
  series converted all users of "master_xfer". But to avoid tons of
  incremental patches to one driver, I will incrementally improve i2c.h
  and see which drivers can be fully converted step-by-step.
* do not mention I3C specs in commit messages, not really relevant here

Please note that I am not super strict with the 80 char limit. And, as
agreed, I did not convert occasions where old terminology is used in
register names or bits etc. or in function names outside of the I2C
realm.

The outcome is that before this series 115 drivers use old terminology,
after this only 54. Hooray.

And a comment to all janitors: Do not convert I2C drivers outside of
drivers/i2c yet. Let us first gain experience here and present the
well-tested results of what we figured out to other maintainers then.
This ensures they have to deal with way less patch revisions.

Thanks and happy hacking!


Wolfram Sang (60):
  i2c: reword i2c_algorithm according to newest specification
  i2c: ali15x3: reword according to newest specification
  i2c: altera: reword according to newest specification
  i2c: au1550: reword according to newest specification
  i2c: bcm-kona: reword according to newest specification
  i2c: bcm2835: reword according to newest specification
  i2c: brcmstb: reword according to newest specification
  i2c: cht-wc: reword according to newest specification
  i2c: cp2615: reword according to newest specification
  i2c: cros-ec-tunnel: reword according to newest specification
  i2c: davinci: reword according to newest specification
  i2c: digicolor: reword according to newest specification
  i2c: diolan-u2c: reword according to newest specification
  i2c: dln2: reword according to newest specification
  i2c: fsi: reword according to newest specification
  i2c: gpio: reword according to newest specification
  i2c: highlander: reword according to newest specification
  i2c: hisi: reword according to newest specification
  i2c: hix5hd2: reword according to newest specification
  i2c: i801: reword according to newest specification
  i2c: ibm_iic: reword according to newest specification
  i2c: iop3xx: reword according to newest specification
  i2c: isch: reword according to newest specification
  i2c: jz4780: reword according to newest specification
  i2c: kempld: reword according to newest specification
  i2c: ljca: reword according to newest specification
  i2c: lpc2k: reword according to newest specification
  i2c: ls2x: reword according to newest specification
  i2c: mlxcpld: reword according to newest specification
  i2c: mpc: reword according to newest specification
  i2c: mt7621: reword according to newest specification
  i2c: mv64xxx: reword according to newest specification
  i2c: ocores: reword according to newest specification
  i2c: octeon: reword according to newest specification
  i2c: opal: reword according to newest specification
  i2c: owl: reword according to newest specification
  i2c: pasemi: reword according to newest specification
  i2c: piix4: reword according to newest specification
  i2c: powermac: reword according to newest specification
  i2c: pxa-pci: reword according to newest specification
  i2c: riic: reword according to newest specification
  i2c: rk3x: reword according to newest specification
  i2c: robotfuzz-osif: reword according to newest specification
  i2c: rzv2m: reword according to newest specification
  i2c: sis5595: reword according to newest specification
  i2c: sprd: reword according to newest specification
  i2c: stm32f4: reword according to newest specification
  i2c: sun6i-p2wi: reword according to newest specification
  i2c: taos-evm: reword according to newest specification
  i2c: tegra-bpmp: reword according to newest specification
  i2c: thunderx-pcidrv: reword according to newest specification
  i2c: tiny-usb: reword according to newest specification
  i2c: uniphier-f: reword according to newest specification
  i2c: uniphier: reword according to newest specification
  i2c: viperboard: reword according to newest specification
  i2c: viai2c: reword according to newest specification
  i2c: nvidia-gpu: reword according to newest specification
  i2c: virtio: reword according to newest specification
  i2c: cpm: reword according to newest specification
  i2c: st: reword according to newest specification

 drivers/i2c/busses/i2c-ali15x3.c         |  2 +-
 drivers/i2c/busses/i2c-altera.c          |  4 +-
 drivers/i2c/busses/i2c-au1550.c          | 15 +++----
 drivers/i2c/busses/i2c-bcm-kona.c        | 13 +++---
 drivers/i2c/busses/i2c-bcm2835.c         | 10 ++---
 drivers/i2c/busses/i2c-brcmstb.c         | 11 +++--
 drivers/i2c/busses/i2c-cht-wc.c          |  8 ++--
 drivers/i2c/busses/i2c-cp2615.c          |  8 ++--
 drivers/i2c/busses/i2c-cpm.c             |  4 +-
 drivers/i2c/busses/i2c-cros-ec-tunnel.c  |  4 +-
 drivers/i2c/busses/i2c-davinci.c         | 17 ++++---
 drivers/i2c/busses/i2c-digicolor.c       |  6 +--
 drivers/i2c/busses/i2c-diolan-u2c.c      |  2 +-
 drivers/i2c/busses/i2c-dln2.c            |  4 +-
 drivers/i2c/busses/i2c-fsi.c             | 56 ++++++++++++------------
 drivers/i2c/busses/i2c-gpio.c            |  8 ++--
 drivers/i2c/busses/i2c-highlander.c      |  2 +-
 drivers/i2c/busses/i2c-hisi.c            |  8 ++--
 drivers/i2c/busses/i2c-hix5hd2.c         |  6 +--
 drivers/i2c/busses/i2c-i801.c            | 12 ++---
 drivers/i2c/busses/i2c-ibm_iic.c         | 27 +++++-------
 drivers/i2c/busses/i2c-iop3xx.c          | 15 +++----
 drivers/i2c/busses/i2c-isch.c            |  2 +-
 drivers/i2c/busses/i2c-jz4780.c          |  4 +-
 drivers/i2c/busses/i2c-kempld.c          |  4 +-
 drivers/i2c/busses/i2c-ljca.c            | 20 ++++-----
 drivers/i2c/busses/i2c-lpc2k.c           | 10 ++---
 drivers/i2c/busses/i2c-ls2x.c            | 11 +++--
 drivers/i2c/busses/i2c-mlxcpld.c         | 14 +++---
 drivers/i2c/busses/i2c-mpc.c             |  4 +-
 drivers/i2c/busses/i2c-mt7621.c          | 26 +++++------
 drivers/i2c/busses/i2c-mv64xxx.c         | 12 ++---
 drivers/i2c/busses/i2c-nvidia-gpu.c      |  7 ++-
 drivers/i2c/busses/i2c-ocores.c          |  8 ++--
 drivers/i2c/busses/i2c-octeon-core.c     |  6 +--
 drivers/i2c/busses/i2c-octeon-core.h     |  4 +-
 drivers/i2c/busses/i2c-octeon-platdrv.c  |  2 +-
 drivers/i2c/busses/i2c-opal.c            | 10 ++---
 drivers/i2c/busses/i2c-owl.c             | 12 ++---
 drivers/i2c/busses/i2c-pasemi-core.c     |  6 +--
 drivers/i2c/busses/i2c-piix4.c           |  2 +-
 drivers/i2c/busses/i2c-powermac.c        | 14 +++---
 drivers/i2c/busses/i2c-pxa-pci.c         |  2 +-
 drivers/i2c/busses/i2c-riic.c            |  8 ++--
 drivers/i2c/busses/i2c-rk3x.c            | 20 ++++-----
 drivers/i2c/busses/i2c-robotfuzz-osif.c  |  4 +-
 drivers/i2c/busses/i2c-rzv2m.c           | 12 ++---
 drivers/i2c/busses/i2c-sis5595.c         |  2 +-
 drivers/i2c/busses/i2c-sprd.c            | 16 +++----
 drivers/i2c/busses/i2c-st.c              |  8 ++--
 drivers/i2c/busses/i2c-stm32f4.c         |  8 ++--
 drivers/i2c/busses/i2c-sun6i-p2wi.c      | 20 ++++-----
 drivers/i2c/busses/i2c-taos-evm.c        |  2 +-
 drivers/i2c/busses/i2c-tegra-bpmp.c      |  4 +-
 drivers/i2c/busses/i2c-thunderx-pcidrv.c |  2 +-
 drivers/i2c/busses/i2c-tiny-usb.c        |  6 +--
 drivers/i2c/busses/i2c-uniphier-f.c      | 26 +++++------
 drivers/i2c/busses/i2c-uniphier.c        | 15 +++----
 drivers/i2c/busses/i2c-viai2c-common.c   |  2 +-
 drivers/i2c/busses/i2c-viai2c-wmt.c      |  8 ++--
 drivers/i2c/busses/i2c-viai2c-zhaoxin.c  | 12 ++---
 drivers/i2c/busses/i2c-viperboard.c      | 10 ++---
 drivers/i2c/busses/i2c-virtio.c          |  2 +-
 include/linux/i2c.h                      | 24 +++++++---
 64 files changed, 313 insertions(+), 320 deletions(-)

Comments

Guenter Roeck July 6, 2024, 1:44 p.m. UTC | #1
On 7/6/24 04:20, Wolfram Sang wrote:
> Change the wording of this driver wrt. the newest I2C v7 and SMBus 3.2
> specifications and replace "master/slave" with more appropriate terms.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Acked-by: Guenter Roeck <linux@roeck-us.net>

> ---
>   drivers/i2c/busses/i2c-diolan-u2c.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-diolan-u2c.c b/drivers/i2c/busses/i2c-diolan-u2c.c
> index b48b7888936f..c02459405b26 100644
> --- a/drivers/i2c/busses/i2c-diolan-u2c.c
> +++ b/drivers/i2c/busses/i2c-diolan-u2c.c
> @@ -414,7 +414,7 @@ static u32 diolan_usb_func(struct i2c_adapter *a)
>   }
>   
>   static const struct i2c_algorithm diolan_usb_algorithm = {
> -	.master_xfer = diolan_usb_xfer,
> +	.xfer = diolan_usb_xfer,
>   	.functionality = diolan_usb_func,
>   };
>
Bence Csókás July 6, 2024, 3:07 p.m. UTC | #2
Hi!

On 2024. 07. 06. 13:20, Wolfram Sang wrote:
> Change the wording of this driver wrt. the newest I2C v7 and SMBus 3.2
> specifications and replace "master/slave" with more appropriate terms.
> 
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
>   drivers/i2c/busses/i2c-cp2615.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-cp2615.c b/drivers/i2c/busses/i2c-cp2615.c
> index cf3747d87034..315a37155401 100644
> --- a/drivers/i2c/busses/i2c-cp2615.c
> +++ b/drivers/i2c/busses/i2c-cp2615.c
> @@ -60,7 +60,7 @@ enum cp2615_i2c_status {
>   	CP2615_CFG_LOCKED = -6,
>   	/* read_len or write_len out of range */
>   	CP2615_INVALID_PARAM = -4,
> -	/* I2C slave did not ACK in time */
> +	/* I2C target did not ACK in time */
>   	CP2615_TIMEOUT,
>   	/* I2C bus busy */
>   	CP2615_BUS_BUSY,

The diff is cut short, but here would be the comment for the next enum 
element, CP2615_BUS_ERROR, which reads:
 > /* I2C bus error (ie. device NAK'd the request) */
If you're going for consistency, you might want to edit that as well.

> @@ -211,7 +211,7 @@ static int cp2615_check_iop(struct usb_interface *usbif)
>   }
>   
>   static int
> -cp2615_i2c_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
> +cp2615_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
>   {
>   	struct usb_interface *usbif = adap->algo_data;
>   	int i = 0, ret = 0;
> @@ -250,8 +250,8 @@ cp2615_i2c_func(struct i2c_adapter *adap)
>   }
>   
>   static const struct i2c_algorithm cp2615_i2c_algo = {
> -	.master_xfer	= cp2615_i2c_master_xfer,
> -	.functionality	= cp2615_i2c_func,
> +	.xfer = cp2615_i2c_xfer,
> +	.functionality = cp2615_i2c_func,
>   };
>   
>   /*

I don't understand the need for the whitespace changes.

Anyways, these are just minor things I could live with.

Reviewed-by: Bence Csókás <bence98@sch.bme.hu>

Bence
Wolfram Sang July 6, 2024, 3:12 p.m. UTC | #3
Hi Bence,

> The diff is cut short, but here would be the comment for the next enum
> element, CP2615_BUS_ERROR, which reads:
> > /* I2C bus error (ie. device NAK'd the request) */
> If you're going for consistency, you might want to edit that as well.

You mean "target NAK'd"? Yes, can do this.

> > -	.master_xfer	= cp2615_i2c_master_xfer,
> > -	.functionality	= cp2615_i2c_func,
> > +	.xfer = cp2615_i2c_xfer,
> > +	.functionality = cp2615_i2c_func,
> >   };
> >   /*
> 
> I don't understand the need for the whitespace changes.

If you have only one space in such struct initializations, you can
change later only the line you are interested in. If you have aligned
them with tabs, you sometimes change one line and need to realign the
whole block. This is annoying and spoils history a little.

> Reviewed-by: Bence Csókás <bence98@sch.bme.hu>

Thanks!

   Wolfram
Andi Shyti July 11, 2024, 1:16 p.m. UTC | #4
Hi Wolfram,

pushed in i2c/i2c-host.

Thanks for this big work, at the end it turned out quite nice and
I'm happy of the outcome!

Thanks
Andi

On Sat, Jul 06, 2024 at 01:20:00PM GMT, Wolfram Sang wrote:
> Start changing the wording of the I2C main header wrt. the newest I2C
> v7 and SMBus 3.2 specifications and replace "master/slave" with more
> appropriate terms. This first step renames the members of struct
> i2c_algorithm. Once all in-tree users are converted, the anonymous union
> will go away again. All this work will also pave the way for finally
> seperating the monolithic header into more fine-grained headers like
> "i2c/clients.h" etc. So, this is not a simple renaming-excercise but
> also a chance to update the I2C core to recent Linux standards.
> 
> Changes since v1:
> 
> * changed wording according to the terminology we agreed on and defined
>   upstream. That means consistent use of "controller/target", and no
>   more "host/client". I added "local/remote target" where necessary.
> * added tags which I kept despite some changes in wording. The approach
>   and code changes (if necessary) did not change.
> * rebased to Andi's for-next branch
> * this series only contains patches which convert the drivers fully. If
>   all goes well, no more updates for them are needed. The previous
>   series converted all users of "master_xfer". But to avoid tons of
>   incremental patches to one driver, I will incrementally improve i2c.h
>   and see which drivers can be fully converted step-by-step.
> * do not mention I3C specs in commit messages, not really relevant here
> 
> Please note that I am not super strict with the 80 char limit. And, as
> agreed, I did not convert occasions where old terminology is used in
> register names or bits etc. or in function names outside of the I2C
> realm.
> 
> The outcome is that before this series 115 drivers use old terminology,
> after this only 54. Hooray.
> 
> And a comment to all janitors: Do not convert I2C drivers outside of
> drivers/i2c yet. Let us first gain experience here and present the
> well-tested results of what we figured out to other maintainers then.
> This ensures they have to deal with way less patch revisions.
> 
> Thanks and happy hacking!
> 
> 
> Wolfram Sang (60):
>   i2c: reword i2c_algorithm according to newest specification
>   i2c: ali15x3: reword according to newest specification
>   i2c: altera: reword according to newest specification
>   i2c: au1550: reword according to newest specification
>   i2c: bcm-kona: reword according to newest specification
>   i2c: bcm2835: reword according to newest specification
>   i2c: brcmstb: reword according to newest specification
>   i2c: cht-wc: reword according to newest specification
>   i2c: cp2615: reword according to newest specification
>   i2c: cros-ec-tunnel: reword according to newest specification
>   i2c: davinci: reword according to newest specification
>   i2c: digicolor: reword according to newest specification
>   i2c: diolan-u2c: reword according to newest specification
>   i2c: dln2: reword according to newest specification
>   i2c: fsi: reword according to newest specification
>   i2c: gpio: reword according to newest specification
>   i2c: highlander: reword according to newest specification
>   i2c: hisi: reword according to newest specification
>   i2c: hix5hd2: reword according to newest specification
>   i2c: i801: reword according to newest specification
>   i2c: ibm_iic: reword according to newest specification
>   i2c: iop3xx: reword according to newest specification
>   i2c: isch: reword according to newest specification
>   i2c: jz4780: reword according to newest specification
>   i2c: kempld: reword according to newest specification
>   i2c: ljca: reword according to newest specification
>   i2c: lpc2k: reword according to newest specification
>   i2c: ls2x: reword according to newest specification
>   i2c: mlxcpld: reword according to newest specification
>   i2c: mpc: reword according to newest specification
>   i2c: mt7621: reword according to newest specification
>   i2c: mv64xxx: reword according to newest specification
>   i2c: ocores: reword according to newest specification
>   i2c: octeon: reword according to newest specification
>   i2c: opal: reword according to newest specification
>   i2c: owl: reword according to newest specification
>   i2c: pasemi: reword according to newest specification
>   i2c: piix4: reword according to newest specification
>   i2c: powermac: reword according to newest specification
>   i2c: pxa-pci: reword according to newest specification
>   i2c: riic: reword according to newest specification
>   i2c: rk3x: reword according to newest specification
>   i2c: robotfuzz-osif: reword according to newest specification
>   i2c: rzv2m: reword according to newest specification
>   i2c: sis5595: reword according to newest specification
>   i2c: sprd: reword according to newest specification
>   i2c: stm32f4: reword according to newest specification
>   i2c: sun6i-p2wi: reword according to newest specification
>   i2c: taos-evm: reword according to newest specification
>   i2c: tegra-bpmp: reword according to newest specification
>   i2c: thunderx-pcidrv: reword according to newest specification
>   i2c: tiny-usb: reword according to newest specification
>   i2c: uniphier-f: reword according to newest specification
>   i2c: uniphier: reword according to newest specification
>   i2c: viperboard: reword according to newest specification
>   i2c: viai2c: reword according to newest specification
>   i2c: nvidia-gpu: reword according to newest specification
>   i2c: virtio: reword according to newest specification
>   i2c: cpm: reword according to newest specification
>   i2c: st: reword according to newest specification
> 
>  drivers/i2c/busses/i2c-ali15x3.c         |  2 +-
>  drivers/i2c/busses/i2c-altera.c          |  4 +-
>  drivers/i2c/busses/i2c-au1550.c          | 15 +++----
>  drivers/i2c/busses/i2c-bcm-kona.c        | 13 +++---
>  drivers/i2c/busses/i2c-bcm2835.c         | 10 ++---
>  drivers/i2c/busses/i2c-brcmstb.c         | 11 +++--
>  drivers/i2c/busses/i2c-cht-wc.c          |  8 ++--
>  drivers/i2c/busses/i2c-cp2615.c          |  8 ++--
>  drivers/i2c/busses/i2c-cpm.c             |  4 +-
>  drivers/i2c/busses/i2c-cros-ec-tunnel.c  |  4 +-
>  drivers/i2c/busses/i2c-davinci.c         | 17 ++++---
>  drivers/i2c/busses/i2c-digicolor.c       |  6 +--
>  drivers/i2c/busses/i2c-diolan-u2c.c      |  2 +-
>  drivers/i2c/busses/i2c-dln2.c            |  4 +-
>  drivers/i2c/busses/i2c-fsi.c             | 56 ++++++++++++------------
>  drivers/i2c/busses/i2c-gpio.c            |  8 ++--
>  drivers/i2c/busses/i2c-highlander.c      |  2 +-
>  drivers/i2c/busses/i2c-hisi.c            |  8 ++--
>  drivers/i2c/busses/i2c-hix5hd2.c         |  6 +--
>  drivers/i2c/busses/i2c-i801.c            | 12 ++---
>  drivers/i2c/busses/i2c-ibm_iic.c         | 27 +++++-------
>  drivers/i2c/busses/i2c-iop3xx.c          | 15 +++----
>  drivers/i2c/busses/i2c-isch.c            |  2 +-
>  drivers/i2c/busses/i2c-jz4780.c          |  4 +-
>  drivers/i2c/busses/i2c-kempld.c          |  4 +-
>  drivers/i2c/busses/i2c-ljca.c            | 20 ++++-----
>  drivers/i2c/busses/i2c-lpc2k.c           | 10 ++---
>  drivers/i2c/busses/i2c-ls2x.c            | 11 +++--
>  drivers/i2c/busses/i2c-mlxcpld.c         | 14 +++---
>  drivers/i2c/busses/i2c-mpc.c             |  4 +-
>  drivers/i2c/busses/i2c-mt7621.c          | 26 +++++------
>  drivers/i2c/busses/i2c-mv64xxx.c         | 12 ++---
>  drivers/i2c/busses/i2c-nvidia-gpu.c      |  7 ++-
>  drivers/i2c/busses/i2c-ocores.c          |  8 ++--
>  drivers/i2c/busses/i2c-octeon-core.c     |  6 +--
>  drivers/i2c/busses/i2c-octeon-core.h     |  4 +-
>  drivers/i2c/busses/i2c-octeon-platdrv.c  |  2 +-
>  drivers/i2c/busses/i2c-opal.c            | 10 ++---
>  drivers/i2c/busses/i2c-owl.c             | 12 ++---
>  drivers/i2c/busses/i2c-pasemi-core.c     |  6 +--
>  drivers/i2c/busses/i2c-piix4.c           |  2 +-
>  drivers/i2c/busses/i2c-powermac.c        | 14 +++---
>  drivers/i2c/busses/i2c-pxa-pci.c         |  2 +-
>  drivers/i2c/busses/i2c-riic.c            |  8 ++--
>  drivers/i2c/busses/i2c-rk3x.c            | 20 ++++-----
>  drivers/i2c/busses/i2c-robotfuzz-osif.c  |  4 +-
>  drivers/i2c/busses/i2c-rzv2m.c           | 12 ++---
>  drivers/i2c/busses/i2c-sis5595.c         |  2 +-
>  drivers/i2c/busses/i2c-sprd.c            | 16 +++----
>  drivers/i2c/busses/i2c-st.c              |  8 ++--
>  drivers/i2c/busses/i2c-stm32f4.c         |  8 ++--
>  drivers/i2c/busses/i2c-sun6i-p2wi.c      | 20 ++++-----
>  drivers/i2c/busses/i2c-taos-evm.c        |  2 +-
>  drivers/i2c/busses/i2c-tegra-bpmp.c      |  4 +-
>  drivers/i2c/busses/i2c-thunderx-pcidrv.c |  2 +-
>  drivers/i2c/busses/i2c-tiny-usb.c        |  6 +--
>  drivers/i2c/busses/i2c-uniphier-f.c      | 26 +++++------
>  drivers/i2c/busses/i2c-uniphier.c        | 15 +++----
>  drivers/i2c/busses/i2c-viai2c-common.c   |  2 +-
>  drivers/i2c/busses/i2c-viai2c-wmt.c      |  8 ++--
>  drivers/i2c/busses/i2c-viai2c-zhaoxin.c  | 12 ++---
>  drivers/i2c/busses/i2c-viperboard.c      | 10 ++---
>  drivers/i2c/busses/i2c-virtio.c          |  2 +-
>  include/linux/i2c.h                      | 24 +++++++---
>  64 files changed, 313 insertions(+), 320 deletions(-)
> 
> -- 
> 2.43.0
>