[RFC PATCH v2 net-next 0/9] Convert xpcs to phylink_pcs_ops

Vladimir Oltean
2021-06-01T00:33:45Z

This patch series is partially tested (some code paths have been covered
on the NXP SJA1105) but since I don't have stmmac hardware, it would
still be appreciated if people from Intel could give this another run.

Background: the sja1105 DSA driver currently drives a Designware XPCS
for SGMII and 2500base-X, and it would be nice to reuse some code with
the xpcs module. This would also help consolidate the phylink_pcs_ops,
since the only other dedicated PCS driver, currently, is the lynx_pcs.

Therefore, this series makes the xpcs expose the same kind of API that
the lynx_pcs module does. The main changes are getting rid of struct
mdio_xpcs_ops, being compatible with struct phylink_pcs_ops and being
less reliant on the phy_interface_t passed to xpcs_probe (now renamed to
xpcs_create).

Vladimir Oltean (9):
net: pcs: xpcs: delete shim definition for mdio_xpcs_get_ops()
net: pcs: xpcs: there is only one PHY ID
net: pcs: xpcs: make the checks related to the PHY interface mode
stateless
net: pcs: xpcs: export xpcs_validate
net: pcs: xpcs: export xpcs_config_eee
net: pcs: xpcs: export xpcs_probe
net: pcs: xpcs: use mdiobus_c45_addr in xpcs_{read,write}
net: pcs: xpcs: convert to mdio_device
net: pcs: xpcs: convert to phylink_pcs_ops

drivers/net/ethernet/stmicro/stmmac/common.h | 3 +-
drivers/net/ethernet/stmicro/stmmac/hwif.h | 14 -
.../ethernet/stmicro/stmmac/stmmac_ethtool.c | 12 +-
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 44 +--
.../net/ethernet/stmicro/stmmac/stmmac_mdio.c | 47 ++-
drivers/net/pcs/pcs-xpcs.c | 371 ++++++++++++------
include/linux/pcs/pcs-xpcs.h | 40 +-
7 files changed, 306 insertions(+), 225 deletions(-)

--
2.25.1