ixgene-v2: prepare for phylib stop exporting phy_10_100_features_array
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 12 Feb 2025 06:32:52 +0000 (07:32 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 13 Feb 2025 16:33:49 +0000 (08:33 -0800)
As part of phylib cleanup we plan to stop exporting the feature arrays.
So explicitly remove the modes not supported by the MAC. The media type
bits don't have any impact on kernel behavior, so don't touch them.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Link: https://patch.msgid.link/be356a21-5a1a-45b3-9407-3a97f3af4600@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/apm/xgene-v2/mdio.c

index eba0683..6a17045 100644 (file)
@@ -97,7 +97,6 @@ void xge_mdio_remove(struct net_device *ndev)
 
 int xge_mdio_config(struct net_device *ndev)
 {
-       __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
        struct xge_pdata *pdata = netdev_priv(ndev);
        struct device *dev = &pdata->pdev->dev;
        struct mii_bus *mdio_bus;
@@ -137,17 +136,12 @@ int xge_mdio_config(struct net_device *ndev)
                goto err;
        }
 
-       linkmode_set_bit_array(phy_10_100_features_array,
-                              ARRAY_SIZE(phy_10_100_features_array),
-                              mask);
-       linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Half_BIT, mask);
-       linkmode_set_bit(ETHTOOL_LINK_MODE_AUI_BIT, mask);
-       linkmode_set_bit(ETHTOOL_LINK_MODE_MII_BIT, mask);
-       linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT, mask);
-       linkmode_set_bit(ETHTOOL_LINK_MODE_BNC_BIT, mask);
-
-       linkmode_andnot(phydev->supported, phydev->supported, mask);
-       linkmode_copy(phydev->advertising, phydev->supported);
+       phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_10baseT_Half_BIT);
+       phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_10baseT_Full_BIT);
+       phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_100baseT_Half_BIT);
+       phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_100baseT_Full_BIT);
+       phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_1000baseT_Half_BIT);
+
        pdata->phy_speed = SPEED_UNKNOWN;
 
        return 0;