aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa/lan9303-core.c
diff options
context:
space:
mode:
authorJerry Ray <jerry.ray@microchip.com>2023-01-17 14:57:01 -0600
committerDavid S. Miller <davem@davemloft.net>2023-01-20 08:53:13 +0000
commit56e23d91bcfda607f928105b5c403a4bed415743 (patch)
tree660907be33623c267858c0d859e14312a0f98067 /drivers/net/dsa/lan9303-core.c
parentdsa: lan9303: write reg only if necessary (diff)
downloadlinux-56e23d91bcfda607f928105b5c403a4bed415743.tar.xz
linux-56e23d91bcfda607f928105b5c403a4bed415743.zip
dsa: lan9303: Port 0 is xMII port
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>
Diffstat (limited to 'drivers/net/dsa/lan9303-core.c')
-rw-r--r--drivers/net/dsa/lan9303-core.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/dsa/lan9303-core.c b/drivers/net/dsa/lan9303-core.c
index a4decf42a002..c7b6c9f97be9 100644
--- a/drivers/net/dsa/lan9303-core.c
+++ b/drivers/net/dsa/lan9303-core.c
@@ -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);