Commit 9a8c3ab9 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Simon Horman
Browse files

ARM: shmobile: lager-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>
Acked-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 849f7b6c
Loading
Loading
Loading
Loading
+22 −15
Original line number Diff line number Diff line
@@ -31,30 +31,37 @@ static void __init lager_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 platform
	 * devices until they get moved to DT.
	 */
	static const char * const scif_names[] = {
		"scifa0", "scifa1", "scifb0", "scifb1",
		"scifb2", "scifa2", "scif0", "scif1",
		"hscif0", "hscif1",
	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" },
		{ "hscif0", NULL, "sh-sci.8" },
		{ "hscif1", NULL, "sh-sci.9" },
	};
	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
	r8a7790_clock_init();
#endif