mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
f8071cde78
commit
5519da874a
|
@ -50,6 +50,23 @@ int bcm_phy_read_exp(struct phy_device *phydev, u16 reg)
|
|||
}
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -19,6 +19,9 @@
|
|||
int bcm_phy_write_exp(struct phy_device *phydev, u16 reg, u16 val);
|
||||
int bcm_phy_read_exp(struct phy_device *phydev, u16 reg);
|
||||
|
||||
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,
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue