clk: meson: add some error handling in meson_clk_register_cpu()
This error handling hopefully isn't needed but it make the static checkers happy. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Carlo Caione <carlo@endlessm.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
parent
2210978516
commit
46965688ac
1 changed files with 12 additions and 4 deletions
|
@ -213,22 +213,30 @@ struct clk *meson_clk_register_cpu(const struct clk_conf *clk_conf,
|
||||||
if (!pclk) {
|
if (!pclk) {
|
||||||
pr_err("%s: could not lookup parent clock %s\n",
|
pr_err("%s: could not lookup parent clock %s\n",
|
||||||
__func__, clk_conf->clks_parent[0]);
|
__func__, clk_conf->clks_parent[0]);
|
||||||
return ERR_PTR(-EINVAL);
|
ret = -EINVAL;
|
||||||
|
goto free_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = clk_notifier_register(pclk, &clk_cpu->clk_nb);
|
ret = clk_notifier_register(pclk, &clk_cpu->clk_nb);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("%s: failed to register clock notifier for %s\n",
|
pr_err("%s: failed to register clock notifier for %s\n",
|
||||||
__func__, clk_conf->clk_name);
|
__func__, clk_conf->clk_name);
|
||||||
return ERR_PTR(-EINVAL);
|
goto free_clk;
|
||||||
}
|
}
|
||||||
|
|
||||||
clk = clk_register(NULL, &clk_cpu->hw);
|
clk = clk_register(NULL, &clk_cpu->hw);
|
||||||
if (IS_ERR(clk)) {
|
if (IS_ERR(clk)) {
|
||||||
clk_notifier_unregister(pclk, &clk_cpu->clk_nb);
|
ret = PTR_ERR(clk);
|
||||||
kfree(clk_cpu);
|
goto unregister_clk_nb;
|
||||||
}
|
}
|
||||||
|
|
||||||
return clk;
|
return clk;
|
||||||
|
|
||||||
|
unregister_clk_nb:
|
||||||
|
clk_notifier_unregister(pclk, &clk_cpu->clk_nb);
|
||||||
|
free_clk:
|
||||||
|
kfree(clk_cpu);
|
||||||
|
|
||||||
|
return ERR_PTR(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue