ARM: arch-shmobile: only run FSI init on respective boards

If several boards are enabled in the kernel configuration,
fsi_init_pm_clock() functions from board-ap4evb.c
will run on any of them. Prevent this by calling these functions from the
.init_machine() callback instead of using device_initcall().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Kuninori Morimoto 2011-04-05 01:22:33 +00:00 committed by Paul Mundt
parent 2ce51f8b93
commit 6084c81e8a

View File

@ -996,7 +996,7 @@ out:
clk_put(hdmi_ick); clk_put(hdmi_ick);
} }
static int __init fsi_init_pm_clock(void) static void __init fsi_init_pm_clock(void)
{ {
struct clk *fsia_ick; struct clk *fsia_ick;
int ret; int ret;
@ -1005,7 +1005,7 @@ static int __init fsi_init_pm_clock(void)
if (IS_ERR(fsia_ick)) { if (IS_ERR(fsia_ick)) {
ret = PTR_ERR(fsia_ick); ret = PTR_ERR(fsia_ick);
pr_err("Cannot get FSI ICK: %d\n", ret); pr_err("Cannot get FSI ICK: %d\n", ret);
return ret; return;
} }
ret = clk_set_parent(fsia_ick, &sh7372_fsiack_clk); ret = clk_set_parent(fsia_ick, &sh7372_fsiack_clk);
@ -1013,10 +1013,7 @@ static int __init fsi_init_pm_clock(void)
pr_err("Cannot set FSI-A parent: %d\n", ret); pr_err("Cannot set FSI-A parent: %d\n", ret);
clk_put(fsia_ick); clk_put(fsia_ick);
return ret;
} }
device_initcall(fsi_init_pm_clock);
/* /*
* FIXME !! * FIXME !!
@ -1345,6 +1342,7 @@ static void __init ap4evb_init(void)
platform_add_devices(ap4evb_devices, ARRAY_SIZE(ap4evb_devices)); platform_add_devices(ap4evb_devices, ARRAY_SIZE(ap4evb_devices));
hdmi_init_pm_clock(); hdmi_init_pm_clock();
fsi_init_pm_clock();
} }
static void __init ap4evb_timer_init(void) static void __init ap4evb_timer_init(void)