summaryrefslogtreecommitdiff
path: root/drivers/net/phy/phy_fixup.c
AgeCommit message (Collapse)Author
2026-09-18net: phy: factor out legacy PHY fixup support and make it always built-inHeiner Kallweit
PHY fixup registration is used from platform code in init phase only. Let's move the PHY fixup code from the modular part of phylib to the always built-in part of phylib. This allows to annotate the fixup registration as __init. No caller uses the return code of PHY fixup registration, therefore change related functions to return void. phy_needs_fixup() and phy_scan_fixups() wouldn't have to be moved to the built-in part of phylib. But doing so allows to fully factor out legacy fixup support into its own source code file, and make struct phy_fixup and phy_fixup_list strictly private to phy_fixup.c. phy_scan_fixups() is used after init phase only, then phy_fixup_list is read-only. So we don't need the mutex when accessing the list. Also when registering PHY fixups the mutex isn't needed, because fixup registration is done sequentially from platform init code. Actually there is only one platform with more than one fixup. In addition this change lays the foundation for enabling modular phylib on platforms where the fixup just sets a flag. Last but not least reflect the change in the documentation, and add a hint that fixup's are legacy functionality. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Link: https://patch.msgid.link/2d722b84-a263-400b-ac91-bf37125eb85b@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>