diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c index 5facffbb9c9a..5416016b33e0 100644 --- a/drivers/net/dsa/microchip/ksz9477.c +++ b/drivers/net/dsa/microchip/ksz9477.c @@ -224,14 +224,13 @@ static int ksz9477_pcs_read(struct mii_bus *bus, int phy, int mmd, int reg) else duplex = DUPLEX_HALF; - if (!p->phydev.link || - p->phydev.speed != speed || - p->phydev.duplex != duplex) { + if (!p->link || p->speed != speed || + p->duplex != duplex) { u16 ctrl; - p->phydev.link = 1; - p->phydev.speed = speed; - p->phydev.duplex = duplex; + p->link = true; + p->speed = speed; + p->duplex = duplex; port_sgmii_r(dev, port, mmd, MII_BMCR, &ctrl); ctrl &= BMCR_ANENABLE; @@ -241,10 +240,10 @@ static int ksz9477_pcs_read(struct mii_bus *bus, int phy, int mmd, int reg) ctrl); } } else { - p->phydev.link = 0; + p->link = false; } } else if (reg == MII_BMSR) { - p->phydev.link = !!(val & BMSR_LSTATUS); + p->link = !!(val & BMSR_LSTATUS); } } @@ -557,7 +556,7 @@ int ksz9477_r_phy(struct ksz_device *dev, u16 addr, u16 reg, u16 *data) val = 0x0700; break; case MII_STAT1000: - if (p->phydev.speed == SPEED_1000) + if (p->speed == SPEED_1000) val = 0x3800; else val = 0; diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index c517478cc476..144373e13bea 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -3983,7 +3983,7 @@ static void ksz9477_phylink_mac_link_up(struct phylink_config *config, if (dev->info->internal_phy[port]) return; - p->phydev.speed = speed; + p->speed = speed; ksz_port_set_xmii_speed(dev, port, speed); diff --git a/drivers/net/dsa/microchip/ksz_common.h b/drivers/net/dsa/microchip/ksz_common.h index 929aff4c55de..18f13ee9c7b6 100644 --- a/drivers/net/dsa/microchip/ksz_common.h +++ b/drivers/net/dsa/microchip/ksz_common.h @@ -129,7 +129,9 @@ struct ksz_port { bool learning; bool isolated; int stp_state; - struct phy_device phydev; + int speed; + int duplex; + bool link; u32 fiber:1; /* port is fiber */ u32 force:1;