net: phy: bcm84881: implement phy_inband_caps() method
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 3 Dec 2024 15:31:07 +0000 (15:31 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 5 Dec 2024 03:19:07 +0000 (19:19 -0800)
BCM84881 has no support for inband signalling, so this is a trivial
implementation that returns no support for inband.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/E1tIUrj-006IU6-ON@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/bcm84881.c

index 97da3aee49422c85c9a70c0aa2b1c26d4088080a..47405bded67798c9cbb728085f1840117a412cf3 100644 (file)
@@ -235,11 +235,21 @@ static int bcm84881_read_status(struct phy_device *phydev)
        return genphy_c45_read_mdix(phydev);
 }
 
+/* The Broadcom BCM84881 in the Methode DM7052 is unable to provide a SGMII
+ * or 802.3z control word, so inband will not work.
+ */
+static unsigned int bcm84881_inband_caps(struct phy_device *phydev,
+                                        phy_interface_t interface)
+{
+       return LINK_INBAND_DISABLE;
+}
+
 static struct phy_driver bcm84881_drivers[] = {
        {
                .phy_id         = 0xae025150,
                .phy_id_mask    = 0xfffffff0,
                .name           = "Broadcom BCM84881",
+               .inband_caps    = bcm84881_inband_caps,
                .config_init    = bcm84881_config_init,
                .probe          = bcm84881_probe,
                .get_features   = bcm84881_get_features,