]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
net: phy: add helpers phy_(un)lock_mdio_bus
authorHeiner Kallweit <hkallweit1@gmail.com>
Sat, 23 Nov 2019 16:28:37 +0000 (17:28 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Nov 2019 18:47:00 +0000 (10:47 -0800)
Add helpers to make locking/unlocking the MDIO bus easier.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy-core.c
include/linux/phy.h

index 5458ed1b87a8e6b8c1359a5858b53a68b6dea15e..769a076514b05bfcf485ba938ee0f74b43314e83 100644 (file)
@@ -419,9 +419,9 @@ int phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum)
 {
        int ret;
 
-       mutex_lock(&phydev->mdio.bus->mdio_lock);
+       phy_lock_mdio_bus(phydev);
        ret = __phy_read_mmd(phydev, devad, regnum);
-       mutex_unlock(&phydev->mdio.bus->mdio_lock);
+       phy_unlock_mdio_bus(phydev);
 
        return ret;
 }
@@ -480,9 +480,9 @@ int phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val)
 {
        int ret;
 
-       mutex_lock(&phydev->mdio.bus->mdio_lock);
+       phy_lock_mdio_bus(phydev);
        ret = __phy_write_mmd(phydev, devad, regnum, val);
-       mutex_unlock(&phydev->mdio.bus->mdio_lock);
+       phy_unlock_mdio_bus(phydev);
 
        return ret;
 }
@@ -536,9 +536,9 @@ int phy_modify_changed(struct phy_device *phydev, u32 regnum, u16 mask, u16 set)
 {
        int ret;
 
-       mutex_lock(&phydev->mdio.bus->mdio_lock);
+       phy_lock_mdio_bus(phydev);
        ret = __phy_modify_changed(phydev, regnum, mask, set);
-       mutex_unlock(&phydev->mdio.bus->mdio_lock);
+       phy_unlock_mdio_bus(phydev);
 
        return ret;
 }
@@ -580,9 +580,9 @@ int phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set)
 {
        int ret;
 
-       mutex_lock(&phydev->mdio.bus->mdio_lock);
+       phy_lock_mdio_bus(phydev);
        ret = __phy_modify(phydev, regnum, mask, set);
-       mutex_unlock(&phydev->mdio.bus->mdio_lock);
+       phy_unlock_mdio_bus(phydev);
 
        return ret;
 }
@@ -639,9 +639,9 @@ int phy_modify_mmd_changed(struct phy_device *phydev, int devad, u32 regnum,
 {
        int ret;
 
-       mutex_lock(&phydev->mdio.bus->mdio_lock);
+       phy_lock_mdio_bus(phydev);
        ret = __phy_modify_mmd_changed(phydev, devad, regnum, mask, set);
-       mutex_unlock(&phydev->mdio.bus->mdio_lock);
+       phy_unlock_mdio_bus(phydev);
 
        return ret;
 }
@@ -687,9 +687,9 @@ int phy_modify_mmd(struct phy_device *phydev, int devad, u32 regnum,
 {
        int ret;
 
-       mutex_lock(&phydev->mdio.bus->mdio_lock);
+       phy_lock_mdio_bus(phydev);
        ret = __phy_modify_mmd(phydev, devad, regnum, mask, set);
-       mutex_unlock(&phydev->mdio.bus->mdio_lock);
+       phy_unlock_mdio_bus(phydev);
 
        return ret;
 }
@@ -721,7 +721,7 @@ static int __phy_write_page(struct phy_device *phydev, int page)
  */
 int phy_save_page(struct phy_device *phydev)
 {
-       mutex_lock(&phydev->mdio.bus->mdio_lock);
+       phy_lock_mdio_bus(phydev);
        return __phy_read_page(phydev);
 }
 EXPORT_SYMBOL_GPL(phy_save_page);
@@ -788,7 +788,7 @@ int phy_restore_page(struct phy_device *phydev, int oldpage, int ret)
                ret = oldpage;
        }
 
-       mutex_unlock(&phydev->mdio.bus->mdio_lock);
+       phy_unlock_mdio_bus(phydev);
 
        return ret;
 }
index f5cdfb206097f6d63cb87954868378fed28c78d9..5032d453ac66a2a6d3643d6dc59b7dfaeb042346 100644 (file)
@@ -1076,6 +1076,16 @@ static inline const char *phydev_name(const struct phy_device *phydev)
        return dev_name(&phydev->mdio.dev);
 }
 
+static inline void phy_lock_mdio_bus(struct phy_device *phydev)
+{
+       mutex_lock(&phydev->mdio.bus->mdio_lock);
+}
+
+static inline void phy_unlock_mdio_bus(struct phy_device *phydev)
+{
+       mutex_unlock(&phydev->mdio.bus->mdio_lock);
+}
+
 void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
        __printf(2, 3);
 void phy_attached_info(struct phy_device *phydev);