[PATCH net-next v6 00/12] Convert LAN78xx to PHYLINK

From: Oleksij Rempel
Date: Thu Apr 10 2025 - 07:54:25 EST


This patch series refactors the LAN78xx USB Ethernet driver to use the
PHYLINK framework for MAC and PHY management.

In the process, various improvements were made to structure the code and
separate concerns such as:
- Refactoring PHY detection and MAC-side interface setup
- Consolidating USB and flow control configuration into helpers
- Dropping legacy EEE and pause handling in favor of PHYLINK equivalents
- Simplifying the suspend/resume flow with proper phylink_suspend/resume
- Removing unused fields and outdated workarounds

changes v6:
- Move unrelated logic out of the main PHYLINK conversion patch:
- EEE handling, USB config, flow control, LED config, etc., now split
into separate commits
- Remove obsolete members from struct lan78xx_net earlier, in the patch
where they're no longer needed

changes v5:
- merge ethtool pause configuration patch with PHYlink patch
- merge some other small cleanup to a single patch

changes v4:
- split "Improve error handling in PHY initialization" patch and move
some parts before PHYlink porting to address some of compile warning
as early as possible.
- add cleanup patch to remove unused struct members

Oleksij Rempel (12):
net: usb: lan78xx: Improve error handling in PHY initialization
net: usb: lan78xx: remove explicit check for missing PHY driver
net: usb: lan78xx: refactor PHY init to separate detection and MAC
configuration
net: usb: lan78xx: move LED DT configuration to helper
net: usb: lan78xx: Extract PHY interrupt acknowledgment to helper
net: usb: lan78xx: Refactor USB link power configuration into helper
net: usb: lan78xx: Extract flow control configuration to helper
net: usb: lan78xx: Convert to PHYLINK for improved PHY and MAC
management
net: usb: lan78xx: Use ethtool_op_get_link to reflect current link
status
net: usb: lan78xx: port link settings to phylink API
net: usb: lan78xx: Integrate EEE support with phylink LPI API
net: usb: lan78xx: remove unused struct members

drivers/net/usb/Kconfig | 3 +-
drivers/net/usb/lan78xx.c | 1114 +++++++++++++++++++++----------------
2 files changed, 646 insertions(+), 471 deletions(-)

--
2.39.5