aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2011-04-04 21:22:33 -0400
committerPaul Mundt <lethal@linux-sh.org>2011-04-06 14:21:38 -0400
commit6084c81e8a8ffa8b85d59e1ca7643dc76c23e412 (patch)
tree11001c1ee20480d9a15849892573d777f82731eb /arch/arm/mach-shmobile
parent2ce51f8b931a0e8b75dacbdff6df27d9be9da49f (diff)
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>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index 53c15e186edb..1e35fa976d64 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -996,7 +996,7 @@ out:
996 clk_put(hdmi_ick); 996 clk_put(hdmi_ick);
997} 997}
998 998
999static int __init fsi_init_pm_clock(void) 999static void __init fsi_init_pm_clock(void)
1000{ 1000{
1001 struct clk *fsia_ick; 1001 struct clk *fsia_ick;
1002 int ret; 1002 int ret;
@@ -1005,7 +1005,7 @@ static int __init fsi_init_pm_clock(void)
1005 if (IS_ERR(fsia_ick)) { 1005 if (IS_ERR(fsia_ick)) {
1006 ret = PTR_ERR(fsia_ick); 1006 ret = PTR_ERR(fsia_ick);
1007 pr_err("Cannot get FSI ICK: %d\n", ret); 1007 pr_err("Cannot get FSI ICK: %d\n", ret);
1008 return ret; 1008 return;
1009 } 1009 }
1010 1010
1011 ret = clk_set_parent(fsia_ick, &sh7372_fsiack_clk); 1011 ret = clk_set_parent(fsia_ick, &sh7372_fsiack_clk);
@@ -1013,10 +1013,7 @@ static int __init fsi_init_pm_clock(void)
1013 pr_err("Cannot set FSI-A parent: %d\n", ret); 1013 pr_err("Cannot set FSI-A parent: %d\n", ret);
1014 1014
1015 clk_put(fsia_ick); 1015 clk_put(fsia_ick);
1016
1017 return ret;
1018} 1016}
1019device_initcall(fsi_init_pm_clock);
1020 1017
1021/* 1018/*
1022 * FIXME !! 1019 * FIXME !!
@@ -1345,6 +1342,7 @@ static void __init ap4evb_init(void)
1345 platform_add_devices(ap4evb_devices, ARRAY_SIZE(ap4evb_devices)); 1342 platform_add_devices(ap4evb_devices, ARRAY_SIZE(ap4evb_devices));
1346 1343
1347 hdmi_init_pm_clock(); 1344 hdmi_init_pm_clock();
1345 fsi_init_pm_clock();
1348} 1346}
1349 1347
1350static void __init ap4evb_timer_init(void) 1348static void __init ap4evb_timer_init(void)