diff options
author | 2019-06-19 13:52:45 +0800 | |
---|---|---|
committer | 2019-08-03 09:16:01 +0200 | |
commit | fd6ef2857b7484ab947beb2f2a1bbb3662553298 (patch) | |
tree | cfa21d4023bb64e1a4bc618a5c39e14c3c79f778 /drivers/clk | |
parent | clk: imx8mm: Make 1416X/1443X PLL macro definitions common for usage (diff) | |
download | linux-fd6ef2857b7484ab947beb2f2a1bbb3662553298.tar.gz linux-fd6ef2857b7484ab947beb2f2a1bbb3662553298.tar.bz2 linux-fd6ef2857b7484ab947beb2f2a1bbb3662553298.zip |
clk: imx: Add API for clk unregister when driver probe fail
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>
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/imx/clk.c | 8 | ||||
-rw-r--r-- | drivers/clk/imx/clk.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/clk/imx/clk.c b/drivers/clk/imx/clk.c index f628071f6605..cfc05e43c343 100644 --- a/drivers/clk/imx/clk.c +++ b/drivers/clk/imx/clk.c @@ -14,6 +14,14 @@ 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) { diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index 19d7b8b0a00e..bb4ec1b33faf 100644 --- a/drivers/clk/imx/clk.h +++ b/drivers/clk/imx/clk.h @@ -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); |