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. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
79d891c1bb
commit
ac8322d806
@ -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);
|
||||
|
||||
/**
|
||||
* __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
|
||||
* @phydev: the phy_device struct
|
||||
|
Loading…
Reference in New Issue
Block a user