net: ethernet: ti: cpsw: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
authorMinghao Chi <chi.minghao@zte.com.cn>
Tue, 12 Apr 2022 08:28:47 +0000 (08:28 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 12 Apr 2022 21:59:27 +0000 (14:59 -0700)
Using pm_runtime_resume_and_get() to replace pm_runtime_get_sync and
pm_runtime_put_noidle. This change is just to simplify the code, no
actual functional changes.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Link: https://lore.kernel.org/r/20220412082847.2532584-1-chi.minghao@zte.com.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/ti/cpsw.c

index e4edcc8c688985a2254fe9087940d2cb3c1abdb5..e6ad2e53f1cd9c10bbcab998414500e5c0640e4a 100644 (file)
@@ -756,11 +756,9 @@ static int cpsw_ndo_open(struct net_device *ndev)
        int ret;
        u32 reg;
 
-       ret = pm_runtime_get_sync(cpsw->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(cpsw->dev);
+       ret = pm_runtime_resume_and_get(cpsw->dev);
+       if (ret < 0)
                return ret;
-       }
 
        netif_carrier_off(ndev);
 
@@ -968,11 +966,9 @@ static int cpsw_ndo_set_mac_address(struct net_device *ndev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       ret = pm_runtime_get_sync(cpsw->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(cpsw->dev);
+       ret = pm_runtime_resume_and_get(cpsw->dev);
+       if (ret < 0)
                return ret;
-       }
 
        if (cpsw->data.dual_emac) {
                vid = cpsw->slaves[priv->emac_port].port_vlan;
@@ -1052,11 +1048,9 @@ static int cpsw_ndo_vlan_rx_add_vid(struct net_device *ndev,
        if (vid == cpsw->data.default_vlan)
                return 0;
 
-       ret = pm_runtime_get_sync(cpsw->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(cpsw->dev);
+       ret = pm_runtime_resume_and_get(cpsw->dev);
+       if (ret < 0)
                return ret;
-       }
 
        if (cpsw->data.dual_emac) {
                /* In dual EMAC, reserved VLAN id should not be used for
@@ -1090,11 +1084,9 @@ static int cpsw_ndo_vlan_rx_kill_vid(struct net_device *ndev,
        if (vid == cpsw->data.default_vlan)
                return 0;
 
-       ret = pm_runtime_get_sync(cpsw->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(cpsw->dev);
+       ret = pm_runtime_resume_and_get(cpsw->dev);
+       if (ret < 0)
                return ret;
-       }
 
        if (cpsw->data.dual_emac) {
                int i;
@@ -1567,11 +1559,9 @@ static int cpsw_probe(struct platform_device *pdev)
        /* Need to enable clocks with runtime PM api to access module
         * registers
         */
-       ret = pm_runtime_get_sync(dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(dev);
+       ret = pm_runtime_resume_and_get(dev);
+       if (ret < 0)
                goto clean_runtime_disable_ret;
-       }
 
        ret = cpsw_probe_dt(&cpsw->data, pdev);
        if (ret)
@@ -1734,11 +1724,9 @@ static int cpsw_remove(struct platform_device *pdev)
        struct cpsw_common *cpsw = platform_get_drvdata(pdev);
        int i, ret;
 
-       ret = pm_runtime_get_sync(&pdev->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(&pdev->dev);
+       ret = pm_runtime_resume_and_get(&pdev->dev);
+       if (ret < 0)
                return ret;
-       }
 
        for (i = 0; i < cpsw->data.slaves; i++)
                if (cpsw->slaves[i].ndev)