Commit 2d18b7e3 authored by Chen-Yu Tsai's avatar Chen-Yu Tsai Committed by Stephen Boyd
Browse files

clk: mediatek: Unregister clks in mtk_clk_simple_probe() error path



Until now the mediatek clk driver library did not have any way to
unregister clks, and so all drivers did not do proper cleanup in
their error paths.

Now that the library does have APIs to unregister clks, use them
in the error path of mtk_clk_simple_probe() to do proper cleanup.

Signed-off-by: default avatarChen-Yu Tsai <wenst@chromium.org>
Reviewed-by: default avatarMiles Chen <miles.chen@mediatek.com>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220208124034.414635-28-wenst@chromium.org


Reviewed-by: default avatarChun-Jie Chen <chun-jie.chen@mediatek.com>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent 3c3ba2ab
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -439,12 +439,14 @@ int mtk_clk_simple_probe(struct platform_device *pdev)

	r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
	if (r)
		goto free_data;
		goto unregister_clks;

	platform_set_drvdata(pdev, clk_data);

	return r;

unregister_clks:
	mtk_clk_unregister_gates(mcd->clks, mcd->num_clks, clk_data);
free_data:
	mtk_free_clk_data(clk_data);
	return r;