clk: imx: Add API for clk unregister when driver probe fail
authorAnson Huang <Anson.Huang@nxp.com>
Wed, 19 Jun 2019 05:52:45 +0000 (13:52 +0800)
committerShawn Guo <shawnguo@kernel.org>
Sat, 3 Aug 2019 07:16:01 +0000 (09:16 +0200)
For i.MX clock drivers probe fail case, clks should be unregistered
in the return path, this patch adds a common API for i.MX clock
drivers to unregister clocks when fail.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/clk/imx/clk.c
drivers/clk/imx/clk.h

index f628071f6605e3f3dd18b9db8cd82cbaec6f82ff..cfc05e43c3430d58a26e291480f7a09e622e3781 100644 (file)
 
 DEFINE_SPINLOCK(imx_ccm_lock);
 
+void imx_unregister_clocks(struct clk *clks[], unsigned int count)
+{
+       unsigned int i;
+
+       for (i = 0; i < count; i++)
+               clk_unregister(clks[i]);
+}
+
 void __init imx_mmdc_mask_handshake(void __iomem *ccm_base,
                                    unsigned int chn)
 {
index 19d7b8b0a00ef97de30162debaae945f66b87b99..bb4ec1b33fafeaed073bd0b7b697768c75f9bb31 100644 (file)
@@ -12,6 +12,7 @@ void imx_check_clk_hws(struct clk_hw *clks[], unsigned int count);
 void imx_register_uart_clocks(struct clk ** const clks[]);
 void imx_register_uart_clocks_hws(struct clk_hw ** const hws[]);
 void imx_mmdc_mask_handshake(void __iomem *ccm_base, unsigned int chn);
+void imx_unregister_clocks(struct clk *clks[], unsigned int count);
 
 extern void imx_cscmr1_fixup(u32 *val);