[PATCH net-next v2 00/10] net: dsa: microchip: remove unnecessary dsa_switch_ops callbacks

Bastien Curutchet (Schneider Electric) posted 10 patches 6 hours ago
drivers/net/dsa/microchip/ksz8.c         |  56 +++----
drivers/net/dsa/microchip/ksz9477.c      | 130 ++++++++++++++-
drivers/net/dsa/microchip/ksz9477.h      |   2 -
drivers/net/dsa/microchip/ksz_common.c   | 274 ++++---------------------------
drivers/net/dsa/microchip/ksz_common.h   |  57 +------
drivers/net/dsa/microchip/lan937x_main.c | 127 ++++++++++++--
6 files changed, 293 insertions(+), 353 deletions(-)
[PATCH net-next v2 00/10] net: dsa: microchip: remove unnecessary dsa_switch_ops callbacks
Posted by Bastien Curutchet (Schneider Electric) 6 hours ago
Hi all,

This series continues the rework of the KSZ driver initiated by two previous
series (see [1] & [2]).

The KSZ driver handles more than 20 switches split in several families.
This was previously handled through a common set of dsa_switch_ops
operations that used device-specific ksz_dev_ops callbacks. The two
previous series have split this common struct dsa_switch_ops into 5
to connect the ksz_dev_ops's implentations directly to the new
dsa_swicth ops.

This series continues in the same vein and removes the dsa_switch_ops
operations that aren't used.

On top of this on-going rework I added PTP and periodic output support for
the KSZ8463 (which was my first goal). There are still more than 20 patches
left for all this so this series will be followed by three others and if you
want to see the full picture we can check my github ([3]).

FYI, I only have a KSZ8463 so, unfortunately, I can't test other switches.

The next series is going to move out of ksz_common.c the last remaining
functions that aren't truly common to all KSZ switches. The series after
that will add PTP support for the KSZ8463 and the final one will add
periodic output support for the KSZ8463.

[1]: https://lore.kernel.org/r/20260505-clean-ksz-driver-v1-0-05d70fa42461@bootlin.com
[2]: https://lore.kernel.org/r/20260521-clean-ksz-2nd-series-v3-0-75c38971c19a@bootlin.com
[3]: https://github.com/bastien-curutchet/linux/tree/ksz_rework

Signed-off-by: Bastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>
---
Changes in v2:
- PATCH 4 & 5: Reduce code duplication by adding
  ksz_phylink_need_config()
- PATCH 6: Add removal of the .set_mac_eee() operation as its usage
  is gated by the .support_eee() presence.
- PATCH 7: Fix the WoL handling for non-KS9477 switches using the
  KSZ9477 operations.
- PATCH 7 & 8: Fix line wrapping to meet the 80 characters per line
  requirement
- Link to v1: https://lore.kernel.org/r/20260526-clean-ksz-3rd-v1-0-5b63e732149a@bootlin.com

---
Bastien Curutchet (Schneider Electric) (9):
      net: dsa: microchip: remove useless common cls_flower_{add/del} operations
      net: dsa: microchip: implement get_phy_flags only if needed
      net: dsa: microchip: wrap the MAC configuration checks in a function
      net: dsa: microchip: remove setup_rgmii_delay() KSZ operation
      net: dsa: microchip: implement .support_eee() only if needed
      net: dsa: microchip: implement .{get/set}_wol only if needed
      net: dsa: microchip: implement port_hsr_join for KSZ9477 only
      net: dsa: microchip: implement lan937x-specific MDIO registration
      net: dsa: microchip: implement port_teardown only if needed

Vladimir Oltean (1):
      net: dsa: microchip: remove VLAN operations for ksz8463

 drivers/net/dsa/microchip/ksz8.c         |  56 +++----
 drivers/net/dsa/microchip/ksz9477.c      | 130 ++++++++++++++-
 drivers/net/dsa/microchip/ksz9477.h      |   2 -
 drivers/net/dsa/microchip/ksz_common.c   | 274 ++++---------------------------
 drivers/net/dsa/microchip/ksz_common.h   |  57 +------
 drivers/net/dsa/microchip/lan937x_main.c | 127 ++++++++++++--
 6 files changed, 293 insertions(+), 353 deletions(-)
---
base-commit: d4cc6e9596c431a172ddad5d7c03819c8fdf4ead
change-id: 20260525-clean-ksz-3rd-5a190d7c63fa

Best regards,
-- 
Bastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>