Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: phylink: use sfp_get_module_caps()

Use sfp_get_module_caps() to get SFP module's capabilities.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1uydVp-000000061WW-08YM@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Russell King (Oracle) and committed by
Jakub Kicinski
cab11651 64fb4a3a

+6 -5
+6 -5
drivers/net/phy/phylink.c
··· 3750 3750 static int phylink_sfp_module_insert(void *upstream, 3751 3751 const struct sfp_eeprom_id *id) 3752 3752 { 3753 + const struct sfp_module_caps *caps; 3753 3754 struct phylink *pl = upstream; 3754 3755 3755 3756 ASSERT_RTNL(); 3756 3757 3757 - linkmode_zero(pl->sfp_support); 3758 - phy_interface_zero(pl->sfp_interfaces); 3759 - sfp_parse_support(pl->sfp_bus, id, pl->sfp_support, pl->sfp_interfaces); 3760 - pl->sfp_port = sfp_parse_port(pl->sfp_bus, id, pl->sfp_support); 3758 + caps = sfp_get_module_caps(pl->sfp_bus); 3759 + phy_interface_copy(pl->sfp_interfaces, caps->interfaces); 3760 + linkmode_copy(pl->sfp_support, caps->link_modes); 3761 + pl->sfp_may_have_phy = caps->may_have_phy; 3762 + pl->sfp_port = caps->port; 3761 3763 3762 3764 /* If this module may have a PHY connecting later, defer until later */ 3763 - pl->sfp_may_have_phy = sfp_may_have_phy(pl->sfp_bus, id); 3764 3765 if (pl->sfp_may_have_phy) 3765 3766 return 0; 3766 3767