Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46965688 authored by Dan Carpenter's avatar Dan Carpenter Committed by Stephen Boyd
Browse files

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: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarCarlo Caione <carlo@endlessm.com>
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent 22109785
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -213,22 +213,30 @@ struct clk *meson_clk_register_cpu(const struct clk_conf *clk_conf,
	if (!pclk) {
		pr_err("%s: could not lookup parent clock %s\n",
				__func__, clk_conf->clks_parent[0]);
		return ERR_PTR(-EINVAL);
		ret = -EINVAL;
		goto free_clk;
	}

	ret = clk_notifier_register(pclk, &clk_cpu->clk_nb);
	if (ret) {
		pr_err("%s: failed to register clock notifier for %s\n",
				__func__, clk_conf->clk_name);
		return ERR_PTR(-EINVAL);
		goto free_clk;
	}

	clk = clk_register(NULL, &clk_cpu->hw);
	if (IS_ERR(clk)) {
		clk_notifier_unregister(pclk, &clk_cpu->clk_nb);
		kfree(clk_cpu);
		ret = PTR_ERR(clk);
		goto unregister_clk_nb;
	}

	return clk;

unregister_clk_nb:
	clk_notifier_unregister(pclk, &clk_cpu->clk_nb);
free_clk:
	kfree(clk_cpu);

	return ERR_PTR(ret);
}