aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/mct.c
diff options
context:
space:
mode:
authorKukjin Kim <kgene.kim@samsung.com>2012-01-24 23:48:11 -0500
committerKukjin Kim <kgene.kim@samsung.com>2012-03-14 05:35:04 -0400
commitbb19a7513dffc82f4b474ed90fc8ed691b54768b (patch)
tree66b098edcfe46a463337d4c1705e1385a7f197c8 /arch/arm/mach-exynos/mct.c
parent94c7ca71c40ffcde28388a712cab524d636bec60 (diff)
ARM: EXYNOS: add interrupt definitions for EXYNOS5250
This patch adds the interrupt definitions for EXYNOS5250 at <mach/irqs.h> file and it is needed for EXYNOS5250 SoC. As a note, for single zImage of EXYNOS4 and EXYNOS5, prefix of EXYNOS4_ and EXYNOS5_ has been added. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos/mct.c')
-rw-r--r--arch/arm/mach-exynos/mct.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/arch/arm/mach-exynos/mct.c b/arch/arm/mach-exynos/mct.c
index 85b5527d0918..1016515dc9a8 100644
--- a/arch/arm/mach-exynos/mct.c
+++ b/arch/arm/mach-exynos/mct.c
@@ -258,7 +258,10 @@ static void exynos4_clockevent_init(void)
258 mct_comp_device.cpumask = cpumask_of(0); 258 mct_comp_device.cpumask = cpumask_of(0);
259 clockevents_register_device(&mct_comp_device); 259 clockevents_register_device(&mct_comp_device);
260 260
261 setup_irq(IRQ_MCT_G0, &mct_comp_event_irq); 261 if (soc_is_exynos5250())
262 setup_irq(EXYNOS5_IRQ_MCT_G0, &mct_comp_event_irq);
263 else
264 setup_irq(EXYNOS4_IRQ_MCT_G0, &mct_comp_event_irq);
262} 265}
263 266
264#ifdef CONFIG_LOCAL_TIMERS 267#ifdef CONFIG_LOCAL_TIMERS
@@ -406,16 +409,16 @@ static void exynos4_mct_tick_init(struct clock_event_device *evt)
406 if (mct_int_type == MCT_INT_SPI) { 409 if (mct_int_type == MCT_INT_SPI) {
407 if (cpu == 0) { 410 if (cpu == 0) {
408 mct_tick0_event_irq.dev_id = mevt; 411 mct_tick0_event_irq.dev_id = mevt;
409 evt->irq = IRQ_MCT_L0; 412 evt->irq = EXYNOS4_IRQ_MCT_L0;
410 setup_irq(IRQ_MCT_L0, &mct_tick0_event_irq); 413 setup_irq(EXYNOS4_IRQ_MCT_L0, &mct_tick0_event_irq);
411 } else { 414 } else {
412 mct_tick1_event_irq.dev_id = mevt; 415 mct_tick1_event_irq.dev_id = mevt;
413 evt->irq = IRQ_MCT_L1; 416 evt->irq = EXYNOS4_IRQ_MCT_L1;
414 setup_irq(IRQ_MCT_L1, &mct_tick1_event_irq); 417 setup_irq(EXYNOS4_IRQ_MCT_L1, &mct_tick1_event_irq);
415 irq_set_affinity(IRQ_MCT_L1, cpumask_of(1)); 418 irq_set_affinity(EXYNOS4_IRQ_MCT_L1, cpumask_of(1));
416 } 419 }
417 } else { 420 } else {
418 enable_percpu_irq(IRQ_MCT_LOCALTIMER, 0); 421 enable_percpu_irq(EXYNOS_IRQ_MCT_LOCALTIMER, 0);
419 } 422 }
420} 423}
421 424
@@ -437,7 +440,7 @@ void local_timer_stop(struct clock_event_device *evt)
437 else 440 else
438 remove_irq(evt->irq, &mct_tick1_event_irq); 441 remove_irq(evt->irq, &mct_tick1_event_irq);
439 else 442 else
440 disable_percpu_irq(IRQ_MCT_LOCALTIMER); 443 disable_percpu_irq(EXYNOS_IRQ_MCT_LOCALTIMER);
441} 444}
442#endif /* CONFIG_LOCAL_TIMERS */ 445#endif /* CONFIG_LOCAL_TIMERS */
443 446
@@ -452,11 +455,11 @@ static void __init exynos4_timer_resources(void)
452 if (mct_int_type == MCT_INT_PPI) { 455 if (mct_int_type == MCT_INT_PPI) {
453 int err; 456 int err;
454 457
455 err = request_percpu_irq(IRQ_MCT_LOCALTIMER, 458 err = request_percpu_irq(EXYNOS_IRQ_MCT_LOCALTIMER,
456 exynos4_mct_tick_isr, "MCT", 459 exynos4_mct_tick_isr, "MCT",
457 &percpu_mct_tick); 460 &percpu_mct_tick);
458 WARN(err, "MCT: can't request IRQ %d (%d)\n", 461 WARN(err, "MCT: can't request IRQ %d (%d)\n",
459 IRQ_MCT_LOCALTIMER, err); 462 EXYNOS_IRQ_MCT_LOCALTIMER, err);
460 } 463 }
461#endif /* CONFIG_LOCAL_TIMERS */ 464#endif /* CONFIG_LOCAL_TIMERS */
462} 465}