[PATCH] clk: shmobile: clk-mstp: change to using clock-indices
Mike Turquette
mturquette at linaro.org
Mon May 5 15:50:13 PDT 2014
Quoting Ben Dooks (2014-04-15 09:06:34)
> With the addition of clock-indices, we need to change the renesas
> clock implementation to use these instead of the local definition
> of "renesas,clock-indices".
>
> Since this will break booting with older device trees, we add a
> simple auto-detection of which properties are present.
>
> Signed-off-by: Ben Dooks <ben.dooks at codethink.co.uk>
I'm fine to take this into clk-fixes, destined for 3.15-rc5. Does that
solve the issues on your end? Do you still need me to host a stable
topic branch for you? I'm happy to do that if needed.
Regards,
Mike
> ---
> .../devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt | 2 +-
> drivers/clk/shmobile/clk-mstp.c | 9 +++++++--
> 2 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
> index 5992dce..02a25d9 100644
> --- a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
> +++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
> @@ -43,7 +43,7 @@ Example
> clock-output-names =
> "tpu0", "mmcif1", "sdhi3", "sdhi2",
> "sdhi1", "sdhi0", "mmcif0";
> - renesas,clock-indices = <
> + clock-indices = <
> R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
> R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
> R8A7790_CLK_MMCIF0
> diff --git a/drivers/clk/shmobile/clk-mstp.c b/drivers/clk/shmobile/clk-mstp.c
> index 2e5810c..1f6324e 100644
> --- a/drivers/clk/shmobile/clk-mstp.c
> +++ b/drivers/clk/shmobile/clk-mstp.c
> @@ -156,6 +156,7 @@ cpg_mstp_clock_register(const char *name, const char *parent_name,
> static void __init cpg_mstp_clocks_init(struct device_node *np)
> {
> struct mstp_clock_group *group;
> + const char *idxname;
> struct clk **clks;
> unsigned int i;
>
> @@ -184,6 +185,11 @@ static void __init cpg_mstp_clocks_init(struct device_node *np)
> for (i = 0; i < MSTP_MAX_CLOCKS; ++i)
> clks[i] = ERR_PTR(-ENOENT);
>
> + if (of_find_property(np, "clock-indices", &i))
> + idxname = "clock-indices";
> + else
> + idxname = "renesas,clock-indices";
> +
> for (i = 0; i < MSTP_MAX_CLOCKS; ++i) {
> const char *parent_name;
> const char *name;
> @@ -197,8 +203,7 @@ static void __init cpg_mstp_clocks_init(struct device_node *np)
> continue;
>
> parent_name = of_clk_get_parent_name(np, i);
> - ret = of_property_read_u32_index(np, "renesas,clock-indices", i,
> - &clkidx);
> + ret = of_property_read_u32_index(np, idxname, i, &clkidx);
> if (parent_name == NULL || ret < 0)
> break;
>
> --
> 1.9.1
>
More information about the linux-arm-kernel
mailing list