aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-exynos/common.c2
-rw-r--r--arch/arm/mach-exynos/common.h2
-rw-r--r--drivers/clocksource/exynos_mct.c21
3 files changed, 8 insertions, 17 deletions
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index c3167b741180..a453991ce90b 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -416,7 +416,7 @@ void __init exynos_init_time(void)
416 exynos4_clk_init(NULL, !soc_is_exynos4210(), S5P_VA_CMU, readl(S5P_VA_CHIPID + 8) & 1); 416 exynos4_clk_init(NULL, !soc_is_exynos4210(), S5P_VA_CMU, readl(S5P_VA_CHIPID + 8) & 1);
417 exynos4_clk_register_fixed_ext(xxti_f, xusbxti_f); 417 exynos4_clk_register_fixed_ext(xxti_f, xusbxti_f);
418#endif 418#endif
419 mct_init(); 419 mct_init(S5P_VA_SYSTIMER, EXYNOS4_IRQ_MCT_G0, EXYNOS4_IRQ_MCT_L0, EXYNOS4_IRQ_MCT_L1);
420 } 420 }
421} 421}
422 422
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h
index 4ed8eef2b096..9717d0f6088f 100644
--- a/arch/arm/mach-exynos/common.h
+++ b/arch/arm/mach-exynos/common.h
@@ -14,7 +14,7 @@
14 14
15#include <linux/of.h> 15#include <linux/of.h>
16 16
17extern void mct_init(void); 17void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1);
18void exynos_init_time(void); 18void exynos_init_time(void);
19extern unsigned long xxti_f, xusbxti_f; 19extern unsigned long xxti_f, xusbxti_f;
20 20
diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index 661026834b23..a6ca0fb06939 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -26,11 +26,6 @@
26 26
27#include <asm/arch_timer.h> 27#include <asm/arch_timer.h>
28#include <asm/localtimer.h> 28#include <asm/localtimer.h>
29
30#include <plat/cpu.h>
31
32#include <mach/map.h>
33#include <mach/irqs.h>
34#include <asm/mach/time.h> 29#include <asm/mach/time.h>
35 30
36#define EXYNOS4_MCTREG(x) (x) 31#define EXYNOS4_MCTREG(x) (x)
@@ -511,18 +506,14 @@ static void __init exynos4_timer_resources(struct device_node *np, void __iomem
511#endif /* CONFIG_LOCAL_TIMERS */ 506#endif /* CONFIG_LOCAL_TIMERS */
512} 507}
513 508
514void __init mct_init(void) 509void __init mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1)
515{ 510{
516 if (soc_is_exynos4210()) { 511 mct_irqs[MCT_G0_IRQ] = irq_g0;
517 mct_irqs[MCT_G0_IRQ] = EXYNOS4_IRQ_MCT_G0; 512 mct_irqs[MCT_L0_IRQ] = irq_l0;
518 mct_irqs[MCT_L0_IRQ] = EXYNOS4_IRQ_MCT_L0; 513 mct_irqs[MCT_L1_IRQ] = irq_l1;
519 mct_irqs[MCT_L1_IRQ] = EXYNOS4_IRQ_MCT_L1; 514 mct_int_type = MCT_INT_SPI;
520 mct_int_type = MCT_INT_SPI;
521 } else {
522 panic("unable to determine mct controller type\n");
523 }
524 515
525 exynos4_timer_resources(NULL, S5P_VA_SYSTIMER); 516 exynos4_timer_resources(NULL, base);
526 exynos4_clocksource_init(); 517 exynos4_clocksource_init();
527 exynos4_clockevent_init(); 518 exynos4_clockevent_init();
528} 519}