net: mdio: mux-meson-g12a: use devm_clk_get_enabled to simplify the code
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>
This commit is contained in:
parent
d408ec0b5d
commit
32e54254ba
@ -55,7 +55,6 @@ struct g12a_mdio_mux {
|
|||||||
bool pll_is_enabled;
|
bool pll_is_enabled;
|
||||||
void __iomem *regs;
|
void __iomem *regs;
|
||||||
void *mux_handle;
|
void *mux_handle;
|
||||||
struct clk *pclk;
|
|
||||||
struct clk *pll;
|
struct clk *pll;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -302,6 +301,7 @@ static int g12a_mdio_mux_probe(struct platform_device *pdev)
|
|||||||
{
|
{
|
||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
struct g12a_mdio_mux *priv;
|
struct g12a_mdio_mux *priv;
|
||||||
|
struct clk *pclk;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
|
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))
|
if (IS_ERR(priv->regs))
|
||||||
return PTR_ERR(priv->regs);
|
return PTR_ERR(priv->regs);
|
||||||
|
|
||||||
priv->pclk = devm_clk_get(dev, "pclk");
|
pclk = devm_clk_get_enabled(dev, "pclk");
|
||||||
if (IS_ERR(priv->pclk))
|
if (IS_ERR(pclk))
|
||||||
return dev_err_probe(dev, PTR_ERR(priv->pclk),
|
return dev_err_probe(dev, PTR_ERR(pclk),
|
||||||
"failed to get peripheral clock\n");
|
"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 */
|
/* Register PLL in CCF */
|
||||||
ret = g12a_ephy_glue_clk_register(dev);
|
ret = g12a_ephy_glue_clk_register(dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
return ret;
|
||||||
|
|
||||||
ret = mdio_mux_init(dev, dev->of_node, g12a_mdio_switch_fn,
|
ret = mdio_mux_init(dev, dev->of_node, g12a_mdio_switch_fn,
|
||||||
&priv->mux_handle, dev, NULL);
|
&priv->mux_handle, dev, NULL);
|
||||||
if (ret) {
|
if (ret)
|
||||||
dev_err_probe(dev, ret, "mdio multiplexer init failed\n");
|
dev_err_probe(dev, ret, "mdio multiplexer init failed\n");
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
err:
|
|
||||||
clk_disable_unprepare(priv->pclk);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -354,8 +341,6 @@ static int g12a_mdio_mux_remove(struct platform_device *pdev)
|
|||||||
if (priv->pll_is_enabled)
|
if (priv->pll_is_enabled)
|
||||||
clk_disable_unprepare(priv->pll);
|
clk_disable_unprepare(priv->pll);
|
||||||
|
|
||||||
clk_disable_unprepare(priv->pclk);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user