diff options
author | Kukjin Kim <kgene.kim@samsung.com> | 2012-01-24 23:48:11 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-03-14 05:35:04 -0400 |
commit | bb19a7513dffc82f4b474ed90fc8ed691b54768b (patch) | |
tree | 66b098edcfe46a463337d4c1705e1385a7f197c8 /arch/arm/mach-exynos/mct.c | |
parent | 94c7ca71c40ffcde28388a712cab524d636bec60 (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.c | 23 |
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 | } |