[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1ihD4Q-0001yt-JM@rmk-PC.armlinux.org.uk>
Date: Tue, 17 Dec 2019 13:39:26 +0000
From: Russell King <rmk+kernel@...linux.org.uk>
To: Andrew Lunn <andrew@...n.ch>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>
Cc: "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Subject: [PATCH net-next 06/11] net: phy: marvell: initialise link partner
state earlier
Move the initialisation of the link partner state earlier, inside
marvell_read_status_page(), so we don't have the same initialisation
scattered amongst the other files. This is in a similar place to
the genphy implementation, so would result in the same behaviour if
a PHY read error occurs.
This allows us to get rid of marvell_read_status_page_fixed(), which
became a pointless wrapper around genphy_read_status_fixed().
Signed-off-by: Russell King <rmk+kernel@...linux.org.uk>
---
drivers/net/phy/marvell.c | 25 +++++--------------------
1 file changed, 5 insertions(+), 20 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 18080d9c0cd9..d57df48b3568 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -1230,8 +1230,6 @@ static int marvell_read_status_page_an(struct phy_device *phydev,
if (err < 0)
return err;
- phydev->pause = 0;
- phydev->asym_pause = 0;
phy_resolve_aneg_pause(phydev);
} else {
lpa = phy_read(phydev, MII_LPA);
@@ -1241,8 +1239,6 @@ static int marvell_read_status_page_an(struct phy_device *phydev,
/* The fiber link is only 1000M capable */
fiber_lpa_mod_linkmode_lpa_t(phydev->lp_advertising, lpa);
- phydev->pause = 0;
- phydev->asym_pause = 0;
if (phydev->duplex == DUPLEX_FULL) {
if (!(lpa & LPA_PAUSE_FIBER)) {
phydev->pause = 0;
@@ -1279,21 +1275,6 @@ static int marvell_read_status_page_an(struct phy_device *phydev,
return 0;
}
-static int marvell_read_status_page_fixed(struct phy_device *phydev)
-{
- int err;
-
- err = genphy_read_status_fixed(phydev);
- if (err < 0)
- return err;
-
- phydev->pause = 0;
- phydev->asym_pause = 0;
- linkmode_zero(phydev->lp_advertising);
-
- return 0;
-}
-
/* marvell_read_status_page
*
* Description:
@@ -1319,10 +1300,14 @@ static int marvell_read_status_page(struct phy_device *phydev, int page)
if (err)
return err;
+ linkmode_zero(phydev->lp_advertising);
+ phydev->pause = 0;
+ phydev->asym_pause = 0;
+
if (phydev->autoneg == AUTONEG_ENABLE)
err = marvell_read_status_page_an(phydev, fiber);
else
- err = marvell_read_status_page_fixed(phydev);
+ err = genphy_read_status_fixed(phydev);
return err;
}
--
2.20.1
Powered by blists - more mailing lists