diff options
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/hw_irq.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/asm-ia64/hw_irq.h b/include/asm-ia64/hw_irq.h index 7e6e3779670a..76366dc9c1a0 100644 --- a/include/asm-ia64/hw_irq.h +++ b/include/asm-ia64/hw_irq.h | |||
@@ -93,6 +93,9 @@ extern __u8 isa_irq_to_vector_map[16]; | |||
93 | struct irq_cfg { | 93 | struct irq_cfg { |
94 | ia64_vector vector; | 94 | ia64_vector vector; |
95 | cpumask_t domain; | 95 | cpumask_t domain; |
96 | cpumask_t old_domain; | ||
97 | unsigned move_cleanup_count; | ||
98 | u8 move_in_progress : 1; | ||
96 | }; | 99 | }; |
97 | extern spinlock_t vector_lock; | 100 | extern spinlock_t vector_lock; |
98 | extern struct irq_cfg irq_cfg[NR_IRQS]; | 101 | extern struct irq_cfg irq_cfg[NR_IRQS]; |
@@ -106,12 +109,19 @@ extern int assign_irq_vector (int irq); /* allocate a free vector */ | |||
106 | extern void free_irq_vector (int vector); | 109 | extern void free_irq_vector (int vector); |
107 | extern int reserve_irq_vector (int vector); | 110 | extern int reserve_irq_vector (int vector); |
108 | extern void __setup_vector_irq(int cpu); | 111 | extern void __setup_vector_irq(int cpu); |
109 | extern int reassign_irq_vector(int irq, int cpu); | ||
110 | extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); | 112 | extern void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect); |
111 | extern void register_percpu_irq (ia64_vector vec, struct irqaction *action); | 113 | extern void register_percpu_irq (ia64_vector vec, struct irqaction *action); |
112 | extern int check_irq_used (int irq); | 114 | extern int check_irq_used (int irq); |
113 | extern void destroy_and_reserve_irq (unsigned int irq); | 115 | extern void destroy_and_reserve_irq (unsigned int irq); |
114 | 116 | ||
117 | #if defined(CONFIG_SMP) && (defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_DIG)) | ||
118 | extern int irq_prepare_move(int irq, int cpu); | ||
119 | extern void irq_complete_move(unsigned int irq); | ||
120 | #else | ||
121 | static inline int irq_prepare_move(int irq, int cpu) { return 0; } | ||
122 | static inline void irq_complete_move(unsigned int irq) {} | ||
123 | #endif | ||
124 | |||
115 | static inline void ia64_resend_irq(unsigned int vector) | 125 | static inline void ia64_resend_irq(unsigned int vector) |
116 | { | 126 | { |
117 | platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); | 127 | platform_send_ipi(smp_processor_id(), vector, IA64_IPI_DM_INT, 0); |