net: phy: bcm84881: fill in possible_interfaces
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 24 Nov 2023 12:28:08 +0000 (12:28 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 28 Nov 2023 02:04:12 +0000 (18:04 -0800)
Fill in the possible_interfaces member. This PHY driver only supports
a single configuration found on SFPs.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/E1r6VI0-00DDLf-Tb@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/bcm84881.c

index 9717a16..f1d47c2 100644 (file)
@@ -29,8 +29,19 @@ static int bcm84881_wait_init(struct phy_device *phydev)
                                         100000, 2000000, false);
 }
 
+static void bcm84881_fill_possible_interfaces(struct phy_device *phydev)
+{
+       unsigned long *possible = phydev->possible_interfaces;
+
+       __set_bit(PHY_INTERFACE_MODE_SGMII, possible);
+       __set_bit(PHY_INTERFACE_MODE_2500BASEX, possible);
+       __set_bit(PHY_INTERFACE_MODE_10GBASER, possible);
+}
+
 static int bcm84881_config_init(struct phy_device *phydev)
 {
+       bcm84881_fill_possible_interfaces(phydev);
+
        switch (phydev->interface) {
        case PHY_INTERFACE_MODE_SGMII:
        case PHY_INTERFACE_MODE_2500BASEX:
@@ -39,6 +50,7 @@ static int bcm84881_config_init(struct phy_device *phydev)
        default:
                return -ENODEV;
        }
+
        return 0;
 }