[PATCH net-next v5 0/7] net: dsa: lantiq_gswip: use regmap for register access

Daniel Golle posted 7 patches 3 months, 2 weeks ago
drivers/net/dsa/lantiq/Kconfig        |   1 +
drivers/net/dsa/lantiq/lantiq_gswip.c | 471 +++++++++++++-------------
drivers/net/dsa/lantiq/lantiq_gswip.h |   6 +-
3 files changed, 243 insertions(+), 235 deletions(-)
[PATCH net-next v5 0/7] net: dsa: lantiq_gswip: use regmap for register access
Posted by Daniel Golle 3 months, 2 weeks ago
This series refactors the lantiq_gswip driver to utilize the regmap API
for register access, replacing the previous approach of open-coding
register operations.

Using regmap paves the way for supporting different busses to access the
switch registers, for example it makes it easier to use an MDIO-based
method required to access the registers of the MaxLinear GSW1xx series
of dedicated switch ICs.

Apart from that, the use of regmap improves readability and
maintainability of the driver by standardizing register access.

When ever possible changes were made using Coccinelle semantic patches,
sometimes adjusting white space and adding line breaks when needed.
The remaining changes which were not done using semantic patches are
small and should be easy to review and verify.

The whole series has been
Tested-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
---
Changes since v4:
 * use REGMAP_UPSHIFT(2) macro instead of -2 value for reg_shift

Changes since v3:
 * unlock mutex in error path
 * simplify some of the manually converted register reads by changing
   the type to u32 instead of using a u32 tmp variable and then assigning
   the value to the previously used u16 variable.

Changes since v2:
 * correctly target net-next tree (fix typo in subject)

Changes since RFC:
 * drop error handling, it wasn't there before and it would anyway be
   removed again by a follow-up change
 * optimize more of the regmap_write_bits() calls


Daniel Golle (7):
  net: dsa: lantiq_gswip: clarify GSWIP 2.2 VLAN mode in comment
  net: dsa: lantiq_gswip: convert accessors to use regmap
  net: dsa: lantiq_gswip: convert trivial accessor uses to regmap
  net: dsa: lantiq_gswip: manually convert remaining uses of read
    accessors
  net: dsa: lantiq_gswip: replace *_mask() functions with regmap API
  net: dsa: lantiq_gswip: optimize regmap_write_bits() statements
  net: dsa: lantiq_gswip: harmonize gswip_mii_mask_*() parameters

 drivers/net/dsa/lantiq/Kconfig        |   1 +
 drivers/net/dsa/lantiq/lantiq_gswip.c | 471 +++++++++++++-------------
 drivers/net/dsa/lantiq/lantiq_gswip.h |   6 +-
 3 files changed, 243 insertions(+), 235 deletions(-)

-- 
2.51.1
Re: [PATCH net-next v5 0/7] net: dsa: lantiq_gswip: use regmap for register access
Posted by Hauke Mehrtens 3 months, 2 weeks ago
On 10/21/25 13:16, Daniel Golle wrote:
> This series refactors the lantiq_gswip driver to utilize the regmap API
> for register access, replacing the previous approach of open-coding
> register operations.
> 
> Using regmap paves the way for supporting different busses to access the
> switch registers, for example it makes it easier to use an MDIO-based
> method required to access the registers of the MaxLinear GSW1xx series
> of dedicated switch ICs.
> 
> Apart from that, the use of regmap improves readability and
> maintainability of the driver by standardizing register access.
> 
> When ever possible changes were made using Coccinelle semantic patches,
> sometimes adjusting white space and adding line breaks when needed.
> The remaining changes which were not done using semantic patches are
> small and should be easy to review and verify.
> 
> The whole series has been
> Tested-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> ---
> Changes since v4:
>   * use REGMAP_UPSHIFT(2) macro instead of -2 value for reg_shift
> 
> Changes since v3:
>   * unlock mutex in error path
>   * simplify some of the manually converted register reads by changing
>     the type to u32 instead of using a u32 tmp variable and then assigning
>     the value to the previously used u16 variable.
> 
> Changes since v2:
>   * correctly target net-next tree (fix typo in subject)
> 
> Changes since RFC:
>   * drop error handling, it wasn't there before and it would anyway be
>     removed again by a follow-up change
>   * optimize more of the regmap_write_bits() calls
> 
> 
> Daniel Golle (7):
>    net: dsa: lantiq_gswip: clarify GSWIP 2.2 VLAN mode in comment
>    net: dsa: lantiq_gswip: convert accessors to use regmap
>    net: dsa: lantiq_gswip: convert trivial accessor uses to regmap
>    net: dsa: lantiq_gswip: manually convert remaining uses of read
>      accessors
>    net: dsa: lantiq_gswip: replace *_mask() functions with regmap API
>    net: dsa: lantiq_gswip: optimize regmap_write_bits() statements
>    net: dsa: lantiq_gswip: harmonize gswip_mii_mask_*() parameters
> 
>   drivers/net/dsa/lantiq/Kconfig        |   1 +
>   drivers/net/dsa/lantiq/lantiq_gswip.c | 471 +++++++++++++-------------
>   drivers/net/dsa/lantiq/lantiq_gswip.h |   6 +-
>   3 files changed, 243 insertions(+), 235 deletions(-)
> 
I reviewed the series and it looks good to me.

Acked-by; Hauke Mehrtens <hauke@hauke-m.de>