[PATCH 2/8] clk: mxs: add clock support for imx23

Turquette, Mike mturquette at ti.com
Mon Apr 23 19:07:13 EDT 2012


On Sat, Apr 21, 2012 at 8:57 AM, Shawn Guo <shawn.guo at linaro.org> wrote:
> Add imx23 clock support based on common clk framework.
>
> Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
> ---
...
> +int __init mx23_clocks_init(void)
> +{
> +       struct clk *clk;
> +       int ret;
> +
> +       clk_misc_init();
> +
> +       mxs_clk_fixed("ref_xtal", 24000000);

There is no error checking at all?

> diff --git a/drivers/clk/mxs/clk.h b/drivers/clk/mxs/clk.h
> index deb5c23..fb5937d 100644
> --- a/drivers/clk/mxs/clk.h
> +++ b/drivers/clk/mxs/clk.h
> @@ -12,6 +12,8 @@
>  #ifndef __MXS_CLK_H
>  #define __MXS_CLK_H
>
> +#include <linux/clk.h>
> +#include <linux/clkdev.h>
>  #include <linux/clk-provider.h>
>  #include <linux/err.h>
>  #include <linux/io.h>
> @@ -72,4 +74,22 @@ static inline int mxs_clk_wait(void __iomem *reg, u8 shift)
>        return 0;
>  }
>
> +static inline int mxs_clk_init_on(char **clks_init_on, int num)
> +{
> +       struct clk *clk;
> +       int i;
> +
> +       for (i = 0; i < num; i++) {
> +               clk = clk_get_sys(clks_init_on[i], NULL);
> +               if (IS_ERR(clk)) {
> +                       pr_err("%s: failed to get clk %s", __func__,
> +                              clks_init_on[i]);
> +                       return PTR_ERR(clk);
> +               }
> +               clk_prepare_enable(clk);
> +       }
> +
> +       return 0;
> +}

Any good reason for this code to live in the header as static inline?

Do you call this code any time other than at boot?  Why not __init?

Thanks,
Mike



More information about the linux-arm-kernel mailing list