1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- From: Florian Fainelli <f.fainelli@gmail.com>
- Date: Tue, 22 Nov 2016 11:40:54 -0800
- Subject: [PATCH] net: phy: broadcom: Move bcm54xx_auxctl_{read, write} to
- common library
- We are going to need these functions to implement support for Broadcom
- Wirespeed, aka downshift.
- Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
- Signed-off-by: David S. Miller <davem@davemloft.net>
- ---
- --- a/drivers/net/phy/bcm-phy-lib.c
- +++ b/drivers/net/phy/bcm-phy-lib.c
- @@ -50,6 +50,23 @@ int bcm_phy_read_exp(struct phy_device *
- }
- EXPORT_SYMBOL_GPL(bcm_phy_read_exp);
-
- +int bcm54xx_auxctl_read(struct phy_device *phydev, u16 regnum)
- +{
- + /* The register must be written to both the Shadow Register Select and
- + * the Shadow Read Register Selector
- + */
- + phy_write(phydev, MII_BCM54XX_AUX_CTL, regnum |
- + regnum << MII_BCM54XX_AUXCTL_SHDWSEL_READ_SHIFT);
- + return phy_read(phydev, MII_BCM54XX_AUX_CTL);
- +}
- +EXPORT_SYMBOL_GPL(bcm54xx_auxctl_read);
- +
- +int bcm54xx_auxctl_write(struct phy_device *phydev, u16 regnum, u16 val)
- +{
- + return phy_write(phydev, MII_BCM54XX_AUX_CTL, regnum | val);
- +}
- +EXPORT_SYMBOL(bcm54xx_auxctl_write);
- +
- int bcm_phy_write_misc(struct phy_device *phydev,
- u16 reg, u16 chl, u16 val)
- {
- --- a/drivers/net/phy/bcm-phy-lib.h
- +++ b/drivers/net/phy/bcm-phy-lib.h
- @@ -26,6 +26,9 @@ static inline int bcm_phy_write_exp_sel(
- return bcm_phy_write_exp(phydev, reg | MII_BCM54XX_EXP_SEL_ER, val);
- }
-
- +int bcm54xx_auxctl_write(struct phy_device *phydev, u16 regnum, u16 val);
- +int bcm54xx_auxctl_read(struct phy_device *phydev, u16 regnum);
- +
- int bcm_phy_write_misc(struct phy_device *phydev,
- u16 reg, u16 chl, u16 value);
- int bcm_phy_read_misc(struct phy_device *phydev,
- --- a/drivers/net/phy/broadcom.c
- +++ b/drivers/net/phy/broadcom.c
- @@ -30,21 +30,6 @@ MODULE_DESCRIPTION("Broadcom PHY driver"
- MODULE_AUTHOR("Maciej W. Rozycki");
- MODULE_LICENSE("GPL");
-
- -static int bcm54xx_auxctl_read(struct phy_device *phydev, u16 regnum)
- -{
- - /* The register must be written to both the Shadow Register Select and
- - * the Shadow Read Register Selector
- - */
- - phy_write(phydev, MII_BCM54XX_AUX_CTL, regnum |
- - regnum << MII_BCM54XX_AUXCTL_SHDWSEL_READ_SHIFT);
- - return phy_read(phydev, MII_BCM54XX_AUX_CTL);
- -}
- -
- -static int bcm54xx_auxctl_write(struct phy_device *phydev, u16 regnum, u16 val)
- -{
- - return phy_write(phydev, MII_BCM54XX_AUX_CTL, regnum | val);
- -}
- -
- static int bcm54810_config(struct phy_device *phydev)
- {
- int rc, val;
|