OSDN Git Service

net: mvpp2: Use devm_clk_get_optional()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 10 May 2021 09:58:07 +0000 (12:58 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 May 2021 21:47:23 +0000 (14:47 -0700)
Replace open coded variants of devm_clk_get_optional().

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

index 6bfad75..b6b7ba8 100644 (file)
@@ -7435,28 +7435,27 @@ static int mvpp2_probe(struct platform_device *pdev)
                        if (err < 0)
                                goto err_gop_clk;
 
-                       priv->mg_core_clk = devm_clk_get(&pdev->dev, "mg_core_clk");
+                       priv->mg_core_clk = devm_clk_get_optional(&pdev->dev, "mg_core_clk");
                        if (IS_ERR(priv->mg_core_clk)) {
-                               priv->mg_core_clk = NULL;
-                       } else {
-                               err = clk_prepare_enable(priv->mg_core_clk);
-                               if (err < 0)
-                                       goto err_mg_clk;
+                               err = PTR_ERR(priv->mg_core_clk);
+                               goto err_mg_clk;
                        }
+
+                       err = clk_prepare_enable(priv->mg_core_clk);
+                       if (err < 0)
+                               goto err_mg_clk;
                }
 
-               priv->axi_clk = devm_clk_get(&pdev->dev, "axi_clk");
+               priv->axi_clk = devm_clk_get_optional(&pdev->dev, "axi_clk");
                if (IS_ERR(priv->axi_clk)) {
                        err = PTR_ERR(priv->axi_clk);
-                       if (err == -EPROBE_DEFER)
-                               goto err_mg_core_clk;
-                       priv->axi_clk = NULL;
-               } else {
-                       err = clk_prepare_enable(priv->axi_clk);
-                       if (err < 0)
-                               goto err_mg_core_clk;
+                       goto err_mg_core_clk;
                }
 
+               err = clk_prepare_enable(priv->axi_clk);
+               if (err < 0)
+                       goto err_mg_core_clk;
+
                /* Get system's tclk rate */
                priv->tclk = clk_get_rate(priv->pp_clk);
        } else if (device_property_read_u32(&pdev->dev, "clock-frequency",
@@ -7552,13 +7551,10 @@ err_port_probe:
        }
 err_axi_clk:
        clk_disable_unprepare(priv->axi_clk);
-
 err_mg_core_clk:
-       if (priv->hw_version >= MVPP22)
-               clk_disable_unprepare(priv->mg_core_clk);
+       clk_disable_unprepare(priv->mg_core_clk);
 err_mg_clk:
-       if (priv->hw_version >= MVPP22)
-               clk_disable_unprepare(priv->mg_clk);
+       clk_disable_unprepare(priv->mg_clk);
 err_gop_clk:
        clk_disable_unprepare(priv->gop_clk);
 err_pp_clk: