Commit f4b2ce40 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven

pinctrl: renesas: rzv2m: Use devm_clk_get_enabled() helper

Simplify clock handling by using the devm_clk_get_enabled() helper,
instead of open-coding the same operations.  Move the clock pointer from
the driver-private data to a local variable, as it is not needed outside
the .probe() callback.
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/cca0b1795fd0335401bdf2be393ab84445e04095.1688396836.git.geert+renesas@glider.be
parent bfc374a1
...@@ -118,7 +118,6 @@ struct rzv2m_pinctrl { ...@@ -118,7 +118,6 @@ struct rzv2m_pinctrl {
const struct rzv2m_pinctrl_data *data; const struct rzv2m_pinctrl_data *data;
void __iomem *base; void __iomem *base;
struct device *dev; struct device *dev;
struct clk *clk;
struct gpio_chip gpio_chip; struct gpio_chip gpio_chip;
struct pinctrl_gpio_range gpio_range; struct pinctrl_gpio_range gpio_range;
...@@ -1039,14 +1038,10 @@ static int rzv2m_pinctrl_register(struct rzv2m_pinctrl *pctrl) ...@@ -1039,14 +1038,10 @@ static int rzv2m_pinctrl_register(struct rzv2m_pinctrl *pctrl)
return 0; return 0;
} }
static void rzv2m_pinctrl_clk_disable(void *data)
{
clk_disable_unprepare(data);
}
static int rzv2m_pinctrl_probe(struct platform_device *pdev) static int rzv2m_pinctrl_probe(struct platform_device *pdev)
{ {
struct rzv2m_pinctrl *pctrl; struct rzv2m_pinctrl *pctrl;
struct clk *clk;
int ret; int ret;
pctrl = devm_kzalloc(&pdev->dev, sizeof(*pctrl), GFP_KERNEL); pctrl = devm_kzalloc(&pdev->dev, sizeof(*pctrl), GFP_KERNEL);
...@@ -1063,32 +1058,15 @@ static int rzv2m_pinctrl_probe(struct platform_device *pdev) ...@@ -1063,32 +1058,15 @@ static int rzv2m_pinctrl_probe(struct platform_device *pdev)
if (IS_ERR(pctrl->base)) if (IS_ERR(pctrl->base))
return PTR_ERR(pctrl->base); return PTR_ERR(pctrl->base);
pctrl->clk = devm_clk_get(pctrl->dev, NULL); clk = devm_clk_get_enabled(pctrl->dev, NULL);
if (IS_ERR(pctrl->clk)) { if (IS_ERR(clk))
ret = PTR_ERR(pctrl->clk); return dev_err_probe(pctrl->dev, PTR_ERR(clk),
dev_err(pctrl->dev, "failed to get GPIO clk : %i\n", ret); "failed to enable GPIO clk\n");
return ret;
}
spin_lock_init(&pctrl->lock); spin_lock_init(&pctrl->lock);
platform_set_drvdata(pdev, pctrl); platform_set_drvdata(pdev, pctrl);
ret = clk_prepare_enable(pctrl->clk);
if (ret) {
dev_err(pctrl->dev, "failed to enable GPIO clk: %i\n", ret);
return ret;
}
ret = devm_add_action_or_reset(&pdev->dev, rzv2m_pinctrl_clk_disable,
pctrl->clk);
if (ret) {
dev_err(pctrl->dev,
"failed to register GPIO clk disable action, %i\n",
ret);
return ret;
}
ret = rzv2m_pinctrl_register(pctrl); ret = rzv2m_pinctrl_register(pctrl);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment