hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/arch/ia64/include/asm/hw_irq.h
....@@ -12,7 +12,6 @@
1212 #include <linux/types.h>
1313 #include <linux/profile.h>
1414
15
-#include <asm/machvec.h>
1615 #include <asm/ptrace.h>
1716 #include <asm/smp.h>
1817
....@@ -56,7 +55,7 @@
5655 extern int ia64_first_device_vector;
5756 extern int ia64_last_device_vector;
5857
59
-#if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined (CONFIG_IA64_DIG))
58
+#ifdef CONFIG_SMP
6059 /* Reserve the lower priority vector than device vectors for "move IRQ" IPI */
6160 #define IA64_IRQ_MOVE_VECTOR 0x30 /* "move IRQ" IPI */
6261 #define IA64_DEF_FIRST_DEVICE_VECTOR 0x31
....@@ -114,7 +113,6 @@
114113 #define ia64_register_ipi ia64_native_register_ipi
115114 #define assign_irq_vector ia64_native_assign_irq_vector
116115 #define free_irq_vector ia64_native_free_irq_vector
117
-#define register_percpu_irq ia64_native_register_percpu_irq
118116 #define ia64_resend_irq ia64_native_resend_irq
119117
120118 extern void ia64_native_register_ipi(void);
....@@ -124,10 +122,9 @@
124122 extern int reserve_irq_vector (int vector);
125123 extern void __setup_vector_irq(int cpu);
126124 extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect);
127
-extern void ia64_native_register_percpu_irq (ia64_vector vec, struct irqaction *action);
128125 extern void destroy_and_reserve_irq (unsigned int irq);
129126
130
-#if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG))
127
+#ifdef CONFIG_SMP
131128 extern int irq_prepare_move(int irq, int cpu);
132129 extern void irq_complete_move(unsigned int irq);
133130 #else
....@@ -137,24 +134,8 @@
137134
138135 static inline void ia64_native_resend_irq(unsigned int vector)
139136 {
140
- platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0);
137
+ ia64_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0);
141138 }
142
-
143
-/*
144
- * Default implementations for the irq-descriptor API:
145
- */
146
-#ifndef CONFIG_IA64_GENERIC
147
-static inline ia64_vector __ia64_irq_to_vector(int irq)
148
-{
149
- return irq_cfg[irq].vector;
150
-}
151
-
152
-static inline unsigned int
153
-__ia64_local_vector_to_irq (ia64_vector vec)
154
-{
155
- return __this_cpu_read(vector_irq[vec]);
156
-}
157
-#endif
158139
159140 /*
160141 * Next follows the irq descriptor interface. On IA-64, each CPU supports 256 interrupt
....@@ -170,7 +151,7 @@
170151 static inline ia64_vector
171152 irq_to_vector (int irq)
172153 {
173
- return platform_irq_to_vector(irq);
154
+ return irq_cfg[irq].vector;
174155 }
175156
176157 /*
....@@ -181,7 +162,7 @@
181162 static inline unsigned int
182163 local_vector_to_irq (ia64_vector vec)
183164 {
184
- return platform_local_vector_to_irq(vec);
165
+ return __this_cpu_read(vector_irq[vec]);
185166 }
186167
187168 #endif /* _ASM_IA64_HW_IRQ_H */