| From f771751a4cc27bfddb1e7293ae093cece086fdc5 Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Date: Sun, 16 Feb 2014 22:32:00 +0100 |
| Subject: ARM: shmobile: koelsch-reference: Refactor clock lookup hack |
| |
| Make the clock lookup hack more generic to ease the addition of more |
| devices. |
| |
| Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| (cherry picked from commit 189ef3d62df6701e58d216cf81277b88bb4ac7a8) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/board-koelsch-reference.c | 42 +++++++++++++++--------- |
| 1 file changed, 27 insertions(+), 15 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/board-koelsch-reference.c b/arch/arm/mach-shmobile/board-koelsch-reference.c |
| index feb8d97ea2f7..42c6eb4c3e67 100644 |
| --- a/arch/arm/mach-shmobile/board-koelsch-reference.c |
| +++ b/arch/arm/mach-shmobile/board-koelsch-reference.c |
| @@ -32,30 +32,42 @@ static void __init koelsch_add_standard_devices(void) |
| { |
| #ifdef CONFIG_COMMON_CLK |
| /* |
| - * This is a really crude hack to provide clkdev support to the SCIF |
| - * and CMT devices until they get moved to DT. |
| + * This is a really crude hack to provide clkdev support to the CMT and |
| + * DU devices until they get moved to DT. |
| */ |
| - static const char * const scif_names[] = { |
| - "scifa0", "scifa1", "scifb0", "scifb1", "scifb2", "scifa2", |
| - "scif0", "scif1", "scif2", "scif3", "scif4", "scif5", "scifa3", |
| - "scifa4", "scifa5", |
| + static const struct clk_name { |
| + const char *clk; |
| + const char *con_id; |
| + const char *dev_id; |
| + } clk_names[] = { |
| + { "cmt0", NULL, "sh_cmt.0" }, |
| + { "scifa0", NULL, "sh-sci.0" }, |
| + { "scifa1", NULL, "sh-sci.1" }, |
| + { "scifb0", NULL, "sh-sci.2" }, |
| + { "scifb1", NULL, "sh-sci.3" }, |
| + { "scifb2", NULL, "sh-sci.4" }, |
| + { "scifa2", NULL, "sh-sci.5" }, |
| + { "scif0", NULL, "sh-sci.6" }, |
| + { "scif1", NULL, "sh-sci.7" }, |
| + { "scif2", NULL, "sh-sci.8" }, |
| + { "scif3", NULL, "sh-sci.9" }, |
| + { "scif4", NULL, "sh-sci.10" }, |
| + { "scif5", NULL, "sh-sci.11" }, |
| + { "scifa3", NULL, "sh-sci.12" }, |
| + { "scifa4", NULL, "sh-sci.13" }, |
| + { "scifa5", NULL, "sh-sci.14" }, |
| }; |
| struct clk *clk; |
| unsigned int i; |
| |
| - for (i = 0; i < ARRAY_SIZE(scif_names); ++i) { |
| - clk = clk_get(NULL, scif_names[i]); |
| + for (i = 0; i < ARRAY_SIZE(clk_names); ++i) { |
| + clk = clk_get(NULL, clk_names[i].clk); |
| if (!IS_ERR(clk)) { |
| - clk_register_clkdev(clk, NULL, "sh-sci.%u", i); |
| + clk_register_clkdev(clk, clk_names[i].con_id, |
| + clk_names[i].dev_id); |
| clk_put(clk); |
| } |
| } |
| - |
| - clk = clk_get(NULL, "cmt0"); |
| - if (!IS_ERR(clk)) { |
| - clk_register_clkdev(clk, NULL, "sh_cmt.0"); |
| - clk_put(clk); |
| - } |
| #else |
| r8a7791_clock_init(); |
| #endif |
| -- |
| 2.1.2 |
| |