dsa: lan9303: Port 0 is xMII port
authorJerry Ray <jerry.ray@microchip.com>
Tue, 17 Jan 2023 20:57:01 +0000 (14:57 -0600)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Jan 2023 08:53:13 +0000 (08:53 +0000)
In preparing to move the adjust_link logic into the phylink_mac_link_up
api, change the macro used to check for the cpu port. In
phylink_mac_link_up, the phydev pointer passed in for the CPU port is
NULL, so we can't keep using phy_is_pseudo_fixed_link(phydev).

Signed-off-by: Jerry Ray <jerry.ray@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/lan9303-core.c

index a4decf4..c7b6c9f 100644 (file)
@@ -15,6 +15,9 @@
 
 #include "lan9303.h"
 
+/* For the LAN9303 and LAN9354, only port 0 is an XMII port. */
+#define IS_PORT_XMII(port)     ((port) == 0)
+
 #define LAN9303_NUM_PORTS 3
 
 /* 13.2 System Control and Status Registers
@@ -1066,7 +1069,11 @@ static void lan9303_adjust_link(struct dsa_switch *ds, int port,
 {
        int ctl;
 
-       if (!phy_is_pseudo_fixed_link(phydev))
+       /* On this device, we are only interested in doing something here if
+        * this is an xMII port. All other ports are 10/100 phys using MDIO
+        * to control there link settings.
+        */
+       if (!IS_PORT_XMII(port))
                return;
 
        ctl = lan9303_phy_read(ds, port, MII_BMCR);