net: mdio: mux-meson-g12a: use devm_clk_get_enabled to simplify the code
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 19 Jan 2023 22:56:37 +0000 (23:56 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 23 Jan 2023 14:46:51 +0000 (14:46 +0000)
Use devm_clk_get_enabled() to simplify the code.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/mdio/mdio-mux-meson-g12a.c

index 4a2e94f..1c1ed6e 100644 (file)
@@ -55,7 +55,6 @@ struct g12a_mdio_mux {
        bool pll_is_enabled;
        void __iomem *regs;
        void *mux_handle;
-       struct clk *pclk;
        struct clk *pll;
 };
 
@@ -302,6 +301,7 @@ static int g12a_mdio_mux_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
        struct g12a_mdio_mux *priv;
+       struct clk *pclk;
        int ret;
 
        priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
@@ -314,34 +314,21 @@ static int g12a_mdio_mux_probe(struct platform_device *pdev)
        if (IS_ERR(priv->regs))
                return PTR_ERR(priv->regs);
 
-       priv->pclk = devm_clk_get(dev, "pclk");
-       if (IS_ERR(priv->pclk))
-               return dev_err_probe(dev, PTR_ERR(priv->pclk),
+       pclk = devm_clk_get_enabled(dev, "pclk");
+       if (IS_ERR(pclk))
+               return dev_err_probe(dev, PTR_ERR(pclk),
                                     "failed to get peripheral clock\n");
 
-       /* Make sure the device registers are clocked */
-       ret = clk_prepare_enable(priv->pclk);
-       if (ret) {
-               dev_err(dev, "failed to enable peripheral clock");
-               return ret;
-       }
-
        /* Register PLL in CCF */
        ret = g12a_ephy_glue_clk_register(dev);
        if (ret)
-               goto err;
+               return ret;
 
        ret = mdio_mux_init(dev, dev->of_node, g12a_mdio_switch_fn,
                            &priv->mux_handle, dev, NULL);
-       if (ret) {
+       if (ret)
                dev_err_probe(dev, ret, "mdio multiplexer init failed\n");
-               goto err;
-       }
 
-       return 0;
-
-err:
-       clk_disable_unprepare(priv->pclk);
        return ret;
 }
 
@@ -354,8 +341,6 @@ static int g12a_mdio_mux_remove(struct platform_device *pdev)
        if (priv->pll_is_enabled)
                clk_disable_unprepare(priv->pll);
 
-       clk_disable_unprepare(priv->pclk);
-
        return 0;
 }