From: Chen-Yu Tsai Date: Tue, 8 Feb 2022 12:40:30 +0000 (+0800) Subject: clk: mediatek: Unregister clks in mtk_clk_simple_probe() error path X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2d18b7e31aa804dc6c0e43545ae5b028802e6f86;p=linux.git 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: Chen-Yu Tsai Reviewed-by: Miles Chen Reviewed-by: AngeloGioacchino Del Regno Link: https://lore.kernel.org/r/20220208124034.414635-28-wenst@chromium.org Reviewed-by: Chun-Jie Chen Signed-off-by: Stephen Boyd --- diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c index 8f15e9de742e4..0e027be0d5fc9 100644 --- a/drivers/clk/mediatek/clk-mtk.c +++ b/drivers/clk/mediatek/clk-mtk.c @@ -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;