All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH net-next 0/6] net: dsa: lantiq_gswip: convert to use regmap
@ 2025-09-02 23:35 Daniel Golle
  2025-09-02 23:35 ` [RFC PATCH net-next 1/6] net: dsa: lantiq_gswip: convert accessors " Daniel Golle
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Daniel Golle @ 2025-09-02 23:35 UTC (permalink / raw)
  To: Hauke Mehrtens, Andrew Lunn, Vladimir Oltean, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Russell King, netdev,
	linux-kernel
  Cc: Andreas Schirm, Lukas Stockmann, Alexander Sverdlin,
	Peter Christen, Avinash Jayaraman, Bing tao Xu, Liang Xu,
	Juraj Povazanec, Fanni (Fang-Yi) Chan, Benny (Ying-Tsan) Weng,
	Livia M. Rosu, John Crispin

Prepare the lantiq_gswip DSA driver to use transports other than MMIO to
access the switch registers by using regmap.

In order to ease future maintainance and get rid of unneeded indirection
replace the existing accessor functions in favour of using the regmap
API directly.

The biggest part of that conversion is done using easy-to-review
semantic patches (coccinelle), leaving only a few corner cases and some
optimization to be done manually.

Register writes could be further reduced in future by using
regmap_update_bits() instead of regmap_write_bits() in cases which allow
that.

Also note that, just like the current code, there is no error handling
in case register access fails, however, an error message is printed in
such cases at least.

This series is meant to be merged after series

"net: dsa: lantiq_gswip: prepare for supporting MaxLinear GSW1xx"[1]

and also after the series with fixes Vladimir Oltean is currently
preparing; applying a bunch of semantic patches is easy even after code
changes, while on the other hand applying his code changes after the
conversion to regmap would require a rework of all his work).

Hence this is posted as RFC to potentially get some feedback before
both other series mentioned above have been merged.

DSA selftests have been run with this series applied, the results are
unchanged (ie. the expected result).

[1]: https://patchwork.kernel.org/project/netdevbpf/list/?series=997105

Daniel Golle (6):
  net: dsa: lantiq_gswip: convert 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 | 443 +++++++++++++-------------
 drivers/net/dsa/lantiq/lantiq_gswip.h |   6 +-
 3 files changed, 228 insertions(+), 222 deletions(-)

-- 
2.51.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-09-03  1:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02 23:35 [RFC PATCH net-next 0/6] net: dsa: lantiq_gswip: convert to use regmap Daniel Golle
2025-09-02 23:35 ` [RFC PATCH net-next 1/6] net: dsa: lantiq_gswip: convert accessors " Daniel Golle
2025-09-03  1:14   ` Andrew Lunn
2025-09-02 23:36 ` [RFC PATCH net-next 2/6] net: dsa: lantiq_gswip: convert trivial accessor uses to regmap Daniel Golle
2025-09-02 23:36 ` [RFC PATCH net-next 3/6] net: dsa: lantiq_gswip: manually convert remaining uses of read accessors Daniel Golle
2025-09-02 23:36 ` [RFC PATCH net-next 4/6] net: dsa: lantiq_gswip: replace *_mask() functions with regmap API Daniel Golle
2025-09-02 23:36 ` [RFC PATCH net-next 5/6] net: dsa: lantiq_gswip: optimize regmap_write_bits() statements Daniel Golle
2025-09-02 23:36 ` [RFC PATCH net-next 6/6] net: dsa: lantiq_gswip: harmonize gswip_mii_mask_*() parameters Daniel Golle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.