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: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/cca0b1795fd0335401bdf2be393ab84445e04095.1688396836.git.geert+renesas@glider.be
This commit is contained in:
parent
bfc374a145
commit
f4b2ce40fd
@ -118,7 +118,6 @@ struct rzv2m_pinctrl {
|
||||
const struct rzv2m_pinctrl_data *data;
|
||||
void __iomem *base;
|
||||
struct device *dev;
|
||||
struct clk *clk;
|
||||
|
||||
struct gpio_chip gpio_chip;
|
||||
struct pinctrl_gpio_range gpio_range;
|
||||
@ -1039,14 +1038,10 @@ static int rzv2m_pinctrl_register(struct rzv2m_pinctrl *pctrl)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void rzv2m_pinctrl_clk_disable(void *data)
|
||||
{
|
||||
clk_disable_unprepare(data);
|
||||
}
|
||||
|
||||
static int rzv2m_pinctrl_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct rzv2m_pinctrl *pctrl;
|
||||
struct clk *clk;
|
||||
int ret;
|
||||
|
||||
pctrl = devm_kzalloc(&pdev->dev, sizeof(*pctrl), GFP_KERNEL);
|
||||
@ -1063,32 +1058,15 @@ static int rzv2m_pinctrl_probe(struct platform_device *pdev)
|
||||
if (IS_ERR(pctrl->base))
|
||||
return PTR_ERR(pctrl->base);
|
||||
|
||||
pctrl->clk = devm_clk_get(pctrl->dev, NULL);
|
||||
if (IS_ERR(pctrl->clk)) {
|
||||
ret = PTR_ERR(pctrl->clk);
|
||||
dev_err(pctrl->dev, "failed to get GPIO clk : %i\n", ret);
|
||||
return ret;
|
||||
}
|
||||
clk = devm_clk_get_enabled(pctrl->dev, NULL);
|
||||
if (IS_ERR(clk))
|
||||
return dev_err_probe(pctrl->dev, PTR_ERR(clk),
|
||||
"failed to enable GPIO clk\n");
|
||||
|
||||
spin_lock_init(&pctrl->lock);
|
||||
|
||||
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);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
Loading…
x
Reference in New Issue
Block a user