diff options
| -rw-r--r-- | arch/arm/mach-exynos/common.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/common.h | 2 | ||||
| -rw-r--r-- | drivers/clocksource/exynos_mct.c | 21 |
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 | ||
| 17 | extern void mct_init(void); | 17 | void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1); |
| 18 | void exynos_init_time(void); | 18 | void exynos_init_time(void); |
| 19 | extern unsigned long xxti_f, xusbxti_f; | 19 | extern 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 | ||
| 514 | void __init mct_init(void) | 509 | void __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 | } |
