diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-04-04 21:22:33 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-04-06 14:21:38 -0400 |
commit | 6084c81e8a8ffa8b85d59e1ca7643dc76c23e412 (patch) | |
tree | 11001c1ee20480d9a15849892573d777f82731eb /arch/arm/mach-shmobile | |
parent | 2ce51f8b931a0e8b75dacbdff6df27d9be9da49f (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.c | 8 |
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 | ||
999 | static int __init fsi_init_pm_clock(void) | 999 | static 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 | } |
1019 | device_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 | ||
1350 | static void __init ap4evb_timer_init(void) | 1348 | static void __init ap4evb_timer_init(void) |