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>