Commit 189ef3d6 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Simon Horman

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: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 433aa851
...@@ -32,30 +32,42 @@ static void __init koelsch_add_standard_devices(void) ...@@ -32,30 +32,42 @@ static void __init koelsch_add_standard_devices(void)
{ {
#ifdef CONFIG_COMMON_CLK #ifdef CONFIG_COMMON_CLK
/* /*
* This is a really crude hack to provide clkdev support to the SCIF * This is a really crude hack to provide clkdev support to the CMT and
* and CMT devices until they get moved to DT. * DU devices until they get moved to DT.
*/ */
static const char * const scif_names[] = { static const struct clk_name {
"scifa0", "scifa1", "scifb0", "scifb1", "scifb2", "scifa2", const char *clk;
"scif0", "scif1", "scif2", "scif3", "scif4", "scif5", "scifa3", const char *con_id;
"scifa4", "scifa5", 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; struct clk *clk;
unsigned int i; unsigned int i;
for (i = 0; i < ARRAY_SIZE(scif_names); ++i) { for (i = 0; i < ARRAY_SIZE(clk_names); ++i) {
clk = clk_get(NULL, scif_names[i]); clk = clk_get(NULL, clk_names[i].clk);
if (!IS_ERR(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_put(clk);
} }
} }
clk = clk_get(NULL, "cmt0");
if (!IS_ERR(clk)) {
clk_register_clkdev(clk, NULL, "sh_cmt.0");
clk_put(clk);
}
#else #else
r8a7791_clock_init(); r8a7791_clock_init();
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment