summaryrefslogtreecommitdiffstats
path: root/drivers/clk/shmobile
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2014-04-15 17:06:34 +0100
committerMike Turquette <mturquette@linaro.org>2014-05-12 16:53:37 -0700
commit8e33f91a0b84ae1964bef77cb92f5d41d97530c8 (patch)
tree821f7e5517c204d9ee34ca34c3b7dea95baca260 /drivers/clk/shmobile
parent874f224cc52d64c912087e68e3724be95ad80ee7 (diff)
downloadlinux-stable-8e33f91a0b84ae1964bef77cb92f5d41d97530c8.tar.gz
linux-stable-8e33f91a0b84ae1964bef77cb92f5d41d97530c8.tar.bz2
linux-stable-8e33f91a0b84ae1964bef77cb92f5d41d97530c8.zip
clk: shmobile: clk-mstp: change to using clock-indices
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@codethink.co.uk> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Mike Turquette <mturquette@linaro.org>
Diffstat (limited to 'drivers/clk/shmobile')
-rw-r--r--drivers/clk/shmobile/clk-mstp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/clk/shmobile/clk-mstp.c b/drivers/clk/shmobile/clk-mstp.c
index 2e5810c88d11..1f6324e29a80 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;