diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2015-09-21 19:53:58 +0300 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2015-09-26 07:58:47 +0300 |
commit | 517c7f9302efdde86fe8ebca80bc9ef826fa62e5 (patch) | |
tree | 519fda3c798ce8fb39f3760fdae535a3e7c69f3b | |
parent | 55adc61c568af99419be1dc0412f8eae019c71f2 (diff) | |
download | linux-517c7f9302efdde86fe8ebca80bc9ef826fa62e5.tar.xz |
clk: imx25: retain early UART clocks during kernel init
Make sure to keep UART clocks enabled during kernel init if
earlyprintk or earlycon are active.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
-rw-r--r-- | drivers/clk/imx/clk-imx25.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/clk/imx/clk-imx25.c b/drivers/clk/imx/clk-imx25.c index ec1a4c1dacf1..c4c141cab444 100644 --- a/drivers/clk/imx/clk-imx25.c +++ b/drivers/clk/imx/clk-imx25.c @@ -86,6 +86,16 @@ enum mx25_clks { static struct clk *clk[clk_max]; +static struct clk ** const uart_clks[] __initconst = { + &clk[uart_ipg_per], + &clk[uart1_ipg], + &clk[uart2_ipg], + &clk[uart3_ipg], + &clk[uart4_ipg], + &clk[uart5_ipg], + NULL +}; + static int __init __mx25_clocks_init(unsigned long osc_rate, void __iomem *ccm_base) { @@ -233,6 +243,8 @@ static int __init __mx25_clocks_init(unsigned long osc_rate, */ clk_set_parent(clk[cko_sel], clk[ipg]); + imx_register_uart_clocks(uart_clks); + return 0; } |