mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 07:34:06 +08:00
Merge branch 'phy-add-helpers-for-setting-clearing-bits-in-PHY-registers'
Heiner Kallweit says: ==================== phy: add helpers for setting/clearing bits in PHY registers Based on the recent introduction of phy_modify add helpers for setting and clearing bits in PHY registers. First user is phylib. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
ccc27fcb8b
@ -1660,13 +1660,13 @@ EXPORT_SYMBOL(genphy_config_init);
|
|||||||
|
|
||||||
int genphy_suspend(struct phy_device *phydev)
|
int genphy_suspend(struct phy_device *phydev)
|
||||||
{
|
{
|
||||||
return phy_modify(phydev, MII_BMCR, 0, BMCR_PDOWN);
|
return phy_set_bits(phydev, MII_BMCR, BMCR_PDOWN);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(genphy_suspend);
|
EXPORT_SYMBOL(genphy_suspend);
|
||||||
|
|
||||||
int genphy_resume(struct phy_device *phydev)
|
int genphy_resume(struct phy_device *phydev)
|
||||||
{
|
{
|
||||||
return phy_modify(phydev, MII_BMCR, BMCR_PDOWN, 0);
|
return phy_clear_bits(phydev, MII_BMCR, BMCR_PDOWN);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(genphy_resume);
|
EXPORT_SYMBOL(genphy_resume);
|
||||||
|
|
||||||
|
@ -764,6 +764,55 @@ static inline int __phy_write(struct phy_device *phydev, u32 regnum, u16 val)
|
|||||||
int __phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set);
|
int __phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set);
|
||||||
int phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set);
|
int phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __phy_set_bits - Convenience function for setting bits in a PHY register
|
||||||
|
* @phydev: the phy_device struct
|
||||||
|
* @regnum: register number to write
|
||||||
|
* @val: bits to set
|
||||||
|
*
|
||||||
|
* The caller must have taken the MDIO bus lock.
|
||||||
|
*/
|
||||||
|
static inline int __phy_set_bits(struct phy_device *phydev, u32 regnum, u16 val)
|
||||||
|
{
|
||||||
|
return __phy_modify(phydev, regnum, 0, val);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __phy_clear_bits - Convenience function for clearing bits in a PHY register
|
||||||
|
* @phydev: the phy_device struct
|
||||||
|
* @regnum: register number to write
|
||||||
|
* @val: bits to clear
|
||||||
|
*
|
||||||
|
* The caller must have taken the MDIO bus lock.
|
||||||
|
*/
|
||||||
|
static inline int __phy_clear_bits(struct phy_device *phydev, u32 regnum,
|
||||||
|
u16 val)
|
||||||
|
{
|
||||||
|
return __phy_modify(phydev, regnum, val, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_set_bits - Convenience function for setting bits in a PHY register
|
||||||
|
* @phydev: the phy_device struct
|
||||||
|
* @regnum: register number to write
|
||||||
|
* @val: bits to set
|
||||||
|
*/
|
||||||
|
static inline int phy_set_bits(struct phy_device *phydev, u32 regnum, u16 val)
|
||||||
|
{
|
||||||
|
return phy_modify(phydev, regnum, 0, val);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* phy_clear_bits - Convenience function for clearing bits in a PHY register
|
||||||
|
* @phydev: the phy_device struct
|
||||||
|
* @regnum: register number to write
|
||||||
|
* @val: bits to clear
|
||||||
|
*/
|
||||||
|
static inline int phy_clear_bits(struct phy_device *phydev, u32 regnum, u16 val)
|
||||||
|
{
|
||||||
|
return phy_modify(phydev, regnum, val, 0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* phy_interrupt_is_valid - Convenience function for testing a given PHY irq
|
* phy_interrupt_is_valid - Convenience function for testing a given PHY irq
|
||||||
* @phydev: the phy_device struct
|
* @phydev: the phy_device struct
|
||||||
|
Loading…
Reference in New Issue
Block a user