net: stmmac: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
authorMinghao Chi <chi.minghao@zte.com.cn>
Fri, 8 Apr 2022 08:12:50 +0000 (08:12 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 12 Apr 2022 03:31:59 +0000 (20:31 -0700)
Using pm_runtime_resume_and_get is more appropriate
for simplifing code

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
Link: https://lore.kernel.org/r/20220408081250.2494588-1-chi.minghao@zte.com.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c

index a5d150c..9bc625f 100644 (file)
@@ -88,11 +88,9 @@ static int stmmac_xgmac2_mdio_read(struct mii_bus *bus, int phyaddr, int phyreg)
        u32 tmp, addr, value = MII_XGMAC_BUSY;
        int ret;
 
-       ret = pm_runtime_get_sync(priv->device);
-       if (ret < 0) {
-               pm_runtime_put_noidle(priv->device);
+       ret = pm_runtime_resume_and_get(priv->device);
+       if (ret < 0)
                return ret;
-       }
 
        /* Wait until any existing MII operation is complete */
        if (readl_poll_timeout(priv->ioaddr + mii_data, tmp,
@@ -156,11 +154,9 @@ static int stmmac_xgmac2_mdio_write(struct mii_bus *bus, int phyaddr,
        u32 addr, tmp, value = MII_XGMAC_BUSY;
        int ret;
 
-       ret = pm_runtime_get_sync(priv->device);
-       if (ret < 0) {
-               pm_runtime_put_noidle(priv->device);
+       ret = pm_runtime_resume_and_get(priv->device);
+       if (ret < 0)
                return ret;
-       }
 
        /* Wait until any existing MII operation is complete */
        if (readl_poll_timeout(priv->ioaddr + mii_data, tmp,
@@ -229,11 +225,9 @@ static int stmmac_mdio_read(struct mii_bus *bus, int phyaddr, int phyreg)
        int data = 0;
        u32 v;
 
-       data = pm_runtime_get_sync(priv->device);
-       if (data < 0) {
-               pm_runtime_put_noidle(priv->device);
+       data = pm_runtime_resume_and_get(priv->device);
+       if (data < 0)
                return data;
-       }
 
        value |= (phyaddr << priv->hw->mii.addr_shift)
                & priv->hw->mii.addr_mask;
@@ -297,11 +291,9 @@ static int stmmac_mdio_write(struct mii_bus *bus, int phyaddr, int phyreg,
        u32 value = MII_BUSY;
        u32 v;
 
-       ret = pm_runtime_get_sync(priv->device);
-       if (ret < 0) {
-               pm_runtime_put_noidle(priv->device);
+       ret = pm_runtime_resume_and_get(priv->device);
+       if (ret < 0)
                return ret;
-       }
 
        value |= (phyaddr << priv->hw->mii.addr_shift)
                & priv->hw->mii.addr_mask;