Subject: [PATCH v2 2/8] clk: imx25: retain early UART clocks during kernel init

From: [email-masked] (Shawn Guo)
Date: Sun, 6 Sep 2015 22:23:15 +0800

On Fri, Sep 04, 2015 at 06:00:13PM +0200, Lucas Stach wrote:
> Make sure to keep UART clocks enabled during kernel init if
> earlyprintk or earlycon are active.
> 
> Signed-off-by: Lucas Stach <[email-masked]>
> ---
>  drivers/clk/imx/clk-imx25.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/clk/imx/clk-imx25.c b/drivers/clk/imx/clk-imx25.c
> index ec1a4c1dacf1..e55acea762fb 100644
> --- a/drivers/clk/imx/clk-imx25.c
> +++ b/drivers/clk/imx/clk-imx25.c
> @@ -86,6 +86,14 @@ enum mx25_clks {
>  
>  static struct clk *clk[clk_max];
>  
> +static struct clk **uart_clks[] __initdata = { &clk[uart_ipg_per],
> +					       &clk[uart1_ipg],
> +					       &clk[uart2_ipg],
> +					       &clk[uart3_ipg],
> +					       &clk[uart4_ipg],
> +					       &clk[uart5_ipg],
> +					       NULL };
> +

I prefer to code it like:

static struct clk **uart_clks[] __initdata = {
	&clk[uart_ipg_per],
	&clk[uart1_ipg],
	&clk[uart2_ipg],
	&clk[uart3_ipg],
	&clk[uart4_ipg],
	&clk[uart5_ipg],
	NULL
};

Other than that, I'm fine with the series.

Shawn

>  static int __init __mx25_clocks_init(unsigned long osc_rate,
>  				     void __iomem *ccm_base)
>  {
> @@ -233,6 +241,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;
>  }
>  
> -- 
> 2.5.0
>