net: phy: broadcom: use auxctl reading helper in BCM54612E code
authorRafał Miłecki <rafal@milecki.pl>
Wed, 25 Jan 2017 20:00:25 +0000 (21:00 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Jan 2017 04:13:44 +0000 (23:13 -0500)
Starting with commit 5b4e29005123 ("net: phy: broadcom: add
bcm54xx_auxctl_read") we have a reading helper so use it and avoid code
duplication.
It also means we don't need MII_BCM54XX_AUXCTL_SHDWSEL_MISC define as
it's the same as MII_BCM54XX_AUXCTL_SHDWSEL_MISC just for reading needs
(same value shifted by 12 bits).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/broadcom.c
include/linux/brcmphy.h

index 4223e35..25c6e6c 100644 (file)
@@ -395,10 +395,8 @@ static int bcm54612e_config_aneg(struct phy_device *phydev)
            (phydev->interface != PHY_INTERFACE_MODE_RGMII_RXID)) {
                u16 reg;
 
-               /* Errata: reads require filling in the write selector field */
-               bcm54xx_auxctl_write(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC,
-                                    MII_BCM54XX_AUXCTL_MISC_RDSEL_MISC);
-               reg = phy_read(phydev, MII_BCM54XX_AUX_CTL);
+               reg = bcm54xx_auxctl_read(phydev,
+                                         MII_BCM54XX_AUXCTL_SHDWSEL_MISC);
                /* Disable RXD to RXC delay (default set) */
                reg &= ~MII_BCM54XX_AUXCTL_MISC_RXD_RXC_SKEW;
                /* Clear shadow selector field */
index 295fb3e..34e6100 100644 (file)
 #define MII_BCM54XX_AUXCTL_MISC_WREN   0x8000
 #define MII_BCM54XX_AUXCTL_MISC_RXD_RXC_SKEW   0x0100
 #define MII_BCM54XX_AUXCTL_MISC_FORCE_AMDIX    0x0200
-#define MII_BCM54XX_AUXCTL_MISC_RDSEL_MISC     0x7000
 #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC        0x0007
 #define MII_BCM54XX_AUXCTL_SHDWSEL_READ_SHIFT  12
 #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN  (1 << 8)