net: phy: marvell: optimize logic for page changing during init
authorUwe Kleine-König <uwe@kleine-koenig.org>
Thu, 10 Nov 2016 14:03:01 +0000 (15:03 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 13 Nov 2016 17:04:50 +0000 (12:04 -0500)
Instead of remembering if the page was changed, just compare the current
page to the saved one. This is easier and has the advantage to save a
register write if the page was already restored.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/marvell.c

index c2dcf02df2021616fe7657447699179b7fb7f7c4..fa31f50824d3d3aac3df0e3afe9f0dce2a3f5a22 100644 (file)
@@ -361,7 +361,7 @@ static int m88e1111_config_aneg(struct phy_device *phydev)
 static int marvell_of_reg_init(struct phy_device *phydev)
 {
        const __be32 *paddr;
-       int len, i, saved_page, current_page, page_changed, ret;
+       int len, i, saved_page, current_page, ret;
 
        if (!phydev->mdio.dev.of_node)
                return 0;
@@ -374,7 +374,6 @@ static int marvell_of_reg_init(struct phy_device *phydev)
        saved_page = phy_read(phydev, MII_MARVELL_PHY_PAGE);
        if (saved_page < 0)
                return saved_page;
-       page_changed = 0;
        current_page = saved_page;
 
        ret = 0;
@@ -388,7 +387,6 @@ static int marvell_of_reg_init(struct phy_device *phydev)
 
                if (reg_page != current_page) {
                        current_page = reg_page;
-                       page_changed = 1;
                        ret = phy_write(phydev, MII_MARVELL_PHY_PAGE, reg_page);
                        if (ret < 0)
                                goto err;
@@ -411,7 +409,7 @@ static int marvell_of_reg_init(struct phy_device *phydev)
 
        }
 err:
-       if (page_changed) {
+       if (current_page != saved_page) {
                i = phy_write(phydev, MII_MARVELL_PHY_PAGE, saved_page);
                if (ret == 0)
                        ret = i;