diff options
author | Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 2013-09-04 07:35:50 -0400 |
---|---|---|
committer | Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 2013-09-29 15:07:14 -0400 |
commit | 8e7b25f1aa9accb8e4c80d0c019d769c979f2ec6 (patch) | |
tree | b689bd2c28e0946662bf1964486f5ad830f94323 /arch/arm/mach-socfpga/socfpga.c | |
parent | 27966ffe43d412483f0823b15b8c035db04969c7 (diff) |
ARM: socfgpa: prepare for arch-wide .init_time callback
Current socfpga board init calls of_clk_init() from .machine_init. To
allow consolidation of DT driven .time_init, move of_clock_init() to
a temporary .time_init that will be removed when arch-wide callback is
available.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Dinh Nguyen <dinguyen@altera.com>
Diffstat (limited to 'arch/arm/mach-socfpga/socfpga.c')
-rw-r--r-- | arch/arm/mach-socfpga/socfpga.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c index bfce9641e32f..6df7bb9fe64a 100644 --- a/arch/arm/mach-socfpga/socfpga.c +++ b/arch/arm/mach-socfpga/socfpga.c | |||
@@ -15,6 +15,7 @@ | |||
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
16 | */ | 16 | */ |
17 | #include <linux/clk-provider.h> | 17 | #include <linux/clk-provider.h> |
18 | #include <linux/clocksource.h> | ||
18 | #include <linux/irqchip.h> | 19 | #include <linux/irqchip.h> |
19 | #include <linux/of_address.h> | 20 | #include <linux/of_address.h> |
20 | #include <linux/of_irq.h> | 21 | #include <linux/of_irq.h> |
@@ -90,6 +91,12 @@ static void __init socfpga_init_irq(void) | |||
90 | socfpga_sysmgr_init(); | 91 | socfpga_sysmgr_init(); |
91 | } | 92 | } |
92 | 93 | ||
94 | static void __init socfpga_init_time(void) | ||
95 | { | ||
96 | of_clk_init(NULL); | ||
97 | clocksource_of_init(); | ||
98 | } | ||
99 | |||
93 | static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd) | 100 | static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd) |
94 | { | 101 | { |
95 | u32 temp; | 102 | u32 temp; |
@@ -107,7 +114,6 @@ static void __init socfpga_cyclone5_init(void) | |||
107 | { | 114 | { |
108 | l2x0_of_init(0, ~0UL); | 115 | l2x0_of_init(0, ~0UL); |
109 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 116 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
110 | of_clk_init(NULL); | ||
111 | socfpga_init_clocks(); | 117 | socfpga_init_clocks(); |
112 | } | 118 | } |
113 | 119 | ||
@@ -120,6 +126,7 @@ DT_MACHINE_START(SOCFPGA, "Altera SOCFPGA") | |||
120 | .smp = smp_ops(socfpga_smp_ops), | 126 | .smp = smp_ops(socfpga_smp_ops), |
121 | .map_io = socfpga_map_io, | 127 | .map_io = socfpga_map_io, |
122 | .init_irq = socfpga_init_irq, | 128 | .init_irq = socfpga_init_irq, |
129 | .init_time = socfpga_init_time, | ||
123 | .init_machine = socfpga_cyclone5_init, | 130 | .init_machine = socfpga_cyclone5_init, |
124 | .restart = socfpga_cyclone5_restart, | 131 | .restart = socfpga_cyclone5_restart, |
125 | .dt_compat = altera_dt_match, | 132 | .dt_compat = altera_dt_match, |