diff options
author | Graf Yang <graf.yang@analog.com> | 2009-08-18 00:29:33 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-09-16 22:10:29 -0400 |
commit | 1794131471ba19c7e30610515074b520cb34d3bb (patch) | |
tree | acb36b777ca3f1f3c66223ea1eda50e737f480b6 /arch/blackfin/mach-common | |
parent | 926494943b7d9dbc998adb298a92a708232ce46b (diff) |
Blackfin: handle the core timer interrupt with handle_percpu_irq on SMP
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/mach-common')
-rw-r--r-- | arch/blackfin/mach-common/ints-priority.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c index 4cc55bc4142..6ffda78aaf9 100644 --- a/arch/blackfin/mach-common/ints-priority.c +++ b/arch/blackfin/mach-common/ints-priority.c | |||
@@ -1052,18 +1052,26 @@ int __init init_arch_irq(void) | |||
1052 | set_irq_chained_handler(irq, bfin_demux_error_irq); | 1052 | set_irq_chained_handler(irq, bfin_demux_error_irq); |
1053 | break; | 1053 | break; |
1054 | #endif | 1054 | #endif |
1055 | |||
1055 | #ifdef CONFIG_SMP | 1056 | #ifdef CONFIG_SMP |
1057 | #ifdef CONFIG_TICKSOURCE_GPTMR0 | ||
1058 | case IRQ_TIMER0: | ||
1059 | #endif | ||
1060 | #ifdef CONFIG_TICKSOURCE_CORETMR | ||
1061 | case IRQ_CORETMR: | ||
1062 | #endif | ||
1056 | case IRQ_SUPPLE_0: | 1063 | case IRQ_SUPPLE_0: |
1057 | case IRQ_SUPPLE_1: | 1064 | case IRQ_SUPPLE_1: |
1058 | set_irq_handler(irq, handle_percpu_irq); | 1065 | set_irq_handler(irq, handle_percpu_irq); |
1059 | break; | 1066 | break; |
1060 | #endif | 1067 | #endif |
1068 | |||
1061 | #ifdef CONFIG_IPIPE | 1069 | #ifdef CONFIG_IPIPE |
1062 | #ifndef CONFIG_TICKSOURCE_CORETMR | 1070 | #ifndef CONFIG_TICKSOURCE_CORETMR |
1063 | case IRQ_TIMER0: | 1071 | case IRQ_TIMER0: |
1064 | set_irq_handler(irq, handle_simple_irq); | 1072 | set_irq_handler(irq, handle_simple_irq); |
1065 | break; | 1073 | break; |
1066 | #endif /* !CONFIG_TICKSOURCE_CORETMR */ | 1074 | #endif |
1067 | case IRQ_CORETMR: | 1075 | case IRQ_CORETMR: |
1068 | set_irq_handler(irq, handle_simple_irq); | 1076 | set_irq_handler(irq, handle_simple_irq); |
1069 | break; | 1077 | break; |
@@ -1071,15 +1079,10 @@ int __init init_arch_irq(void) | |||
1071 | set_irq_handler(irq, handle_level_irq); | 1079 | set_irq_handler(irq, handle_level_irq); |
1072 | break; | 1080 | break; |
1073 | #else /* !CONFIG_IPIPE */ | 1081 | #else /* !CONFIG_IPIPE */ |
1074 | #ifdef CONFIG_TICKSOURCE_GPTMR0 | ||
1075 | case IRQ_TIMER0: | ||
1076 | set_irq_handler(irq, handle_percpu_irq); | ||
1077 | break; | ||
1078 | #endif /* CONFIG_TICKSOURCE_GPTMR0 */ | ||
1079 | default: | 1082 | default: |
1080 | set_irq_handler(irq, handle_simple_irq); | 1083 | set_irq_handler(irq, handle_simple_irq); |
1081 | break; | 1084 | break; |
1082 | #endif /* !CONFIG_IPIPE */ | 1085 | #endif /* !CONFIG_IPIPE */ |
1083 | } | 1086 | } |
1084 | } | 1087 | } |
1085 | 1088 | ||