Skip to content

Commit

Permalink
ARM: shmobile: lager-reference: Instantiate clkdevs for SCIF and CMT
Browse files Browse the repository at this point in the history
Now that the common clock framework is supported, the clock lookup
entries in clock-r8a7790.c are not registered anymore. Devices must
instead reference their clocks in the device tree. However, SCIF and CMT
devices are still instantiated through platform code, and thus need a
clock lookup entry.

Retrieve the SCIF and CMT clock entries by name and register clkdevs for
the corresponding devices. This will be removed when the SCIF and CMT
devices will be instantiated from the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
  • Loading branch information
Laurent Pinchart authored and Simon Horman committed Dec 19, 2013
1 parent e006502 commit 4a606af
Showing 1 changed file with 30 additions and 1 deletion.
31 changes: 30 additions & 1 deletion arch/arm/mach-shmobile/board-lager-reference.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/

#include <linux/clk.h>
#include <linux/clkdev.h>
#include <linux/init.h>
#include <linux/of_platform.h>
#include <mach/common.h>
Expand All @@ -27,9 +29,36 @@

static void __init lager_add_standard_devices(void)
{
#ifndef CONFIG_COMMON_CLK
#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.
*/
static const char * const scif_names[] = {
"scifa0", "scifa1", "scifb0", "scifb1",
"scifb2", "scifa2", "scif0", "scif1",
"hscif0", "hscif1",
};
struct clk *clk;
unsigned int i;

for (i = 0; i < ARRAY_SIZE(scif_names); ++i) {
clk = clk_get(NULL, scif_names[i]);
if (clk) {
clk_register_clkdev(clk, NULL, "sh-sci.%u", i);
clk_put(clk);
}
}

clk = clk_get(NULL, "cmt0");
if (clk) {
clk_register_clkdev(clk, NULL, "sh_cmt.0");
clk_put(clk);
}
#else
r8a7790_clock_init();
#endif

r8a7790_add_dt_devices();
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
Expand Down

0 comments on commit 4a606af

Please sign in to comment.