diff options
-rw-r--r-- | drivers/xen/events/events_2l.c | 15 | ||||
-rw-r--r-- | drivers/xen/events/events_base.c | 7 | ||||
-rw-r--r-- | drivers/xen/events/events_fifo.c | 8 |
3 files changed, 8 insertions, 22 deletions
diff --git a/drivers/xen/events/events_2l.c b/drivers/xen/events/events_2l.c index d7ff91757307..5db43fc100a4 100644 --- a/drivers/xen/events/events_2l.c +++ b/drivers/xen/events/events_2l.c | |||
@@ -166,7 +166,6 @@ static void evtchn_2l_handle_events(unsigned cpu) | |||
166 | int start_word_idx, start_bit_idx; | 166 | int start_word_idx, start_bit_idx; |
167 | int word_idx, bit_idx; | 167 | int word_idx, bit_idx; |
168 | int i; | 168 | int i; |
169 | struct irq_desc *desc; | ||
170 | struct shared_info *s = HYPERVISOR_shared_info; | 169 | struct shared_info *s = HYPERVISOR_shared_info; |
171 | struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu); | 170 | struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu); |
172 | 171 | ||
@@ -176,11 +175,8 @@ static void evtchn_2l_handle_events(unsigned cpu) | |||
176 | unsigned int evtchn = evtchn_from_irq(irq); | 175 | unsigned int evtchn = evtchn_from_irq(irq); |
177 | word_idx = evtchn / BITS_PER_LONG; | 176 | word_idx = evtchn / BITS_PER_LONG; |
178 | bit_idx = evtchn % BITS_PER_LONG; | 177 | bit_idx = evtchn % BITS_PER_LONG; |
179 | if (active_evtchns(cpu, s, word_idx) & (1ULL << bit_idx)) { | 178 | if (active_evtchns(cpu, s, word_idx) & (1ULL << bit_idx)) |
180 | desc = irq_to_desc(irq); | 179 | generic_handle_irq(irq); |
181 | if (desc) | ||
182 | generic_handle_irq_desc(irq, desc); | ||
183 | } | ||
184 | } | 180 | } |
185 | 181 | ||
186 | /* | 182 | /* |
@@ -245,11 +241,8 @@ static void evtchn_2l_handle_events(unsigned cpu) | |||
245 | port = (word_idx * BITS_PER_EVTCHN_WORD) + bit_idx; | 241 | port = (word_idx * BITS_PER_EVTCHN_WORD) + bit_idx; |
246 | irq = get_evtchn_to_irq(port); | 242 | irq = get_evtchn_to_irq(port); |
247 | 243 | ||
248 | if (irq != -1) { | 244 | if (irq != -1) |
249 | desc = irq_to_desc(irq); | 245 | generic_handle_irq(irq); |
250 | if (desc) | ||
251 | generic_handle_irq_desc(irq, desc); | ||
252 | } | ||
253 | 246 | ||
254 | bit_idx = (bit_idx + 1) % BITS_PER_EVTCHN_WORD; | 247 | bit_idx = (bit_idx + 1) % BITS_PER_EVTCHN_WORD; |
255 | 248 | ||
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c index f4a9e3311297..7fea02c143ba 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c | |||
@@ -336,9 +336,8 @@ static void bind_evtchn_to_cpu(unsigned int chn, unsigned int cpu) | |||
336 | 336 | ||
337 | BUG_ON(irq == -1); | 337 | BUG_ON(irq == -1); |
338 | #ifdef CONFIG_SMP | 338 | #ifdef CONFIG_SMP |
339 | cpumask_copy(irq_to_desc(irq)->irq_data.affinity, cpumask_of(cpu)); | 339 | cpumask_copy(irq_get_irq_data(irq)->affinity, cpumask_of(cpu)); |
340 | #endif | 340 | #endif |
341 | |||
342 | xen_evtchn_port_bind_to_cpu(info, cpu); | 341 | xen_evtchn_port_bind_to_cpu(info, cpu); |
343 | 342 | ||
344 | info->cpu = cpu; | 343 | info->cpu = cpu; |
@@ -373,10 +372,8 @@ static void xen_irq_init(unsigned irq) | |||
373 | { | 372 | { |
374 | struct irq_info *info; | 373 | struct irq_info *info; |
375 | #ifdef CONFIG_SMP | 374 | #ifdef CONFIG_SMP |
376 | struct irq_desc *desc = irq_to_desc(irq); | ||
377 | |||
378 | /* By default all event channels notify CPU#0. */ | 375 | /* By default all event channels notify CPU#0. */ |
379 | cpumask_copy(desc->irq_data.affinity, cpumask_of(0)); | 376 | cpumask_copy(irq_get_irq_data(irq)->affinity, cpumask_of(0)); |
380 | #endif | 377 | #endif |
381 | 378 | ||
382 | info = kzalloc(sizeof(*info), GFP_KERNEL); | 379 | info = kzalloc(sizeof(*info), GFP_KERNEL); |
diff --git a/drivers/xen/events/events_fifo.c b/drivers/xen/events/events_fifo.c index 1de2a191b395..96109a9972b6 100644 --- a/drivers/xen/events/events_fifo.c +++ b/drivers/xen/events/events_fifo.c | |||
@@ -235,14 +235,10 @@ static uint32_t clear_linked(volatile event_word_t *word) | |||
235 | static void handle_irq_for_port(unsigned port) | 235 | static void handle_irq_for_port(unsigned port) |
236 | { | 236 | { |
237 | int irq; | 237 | int irq; |
238 | struct irq_desc *desc; | ||
239 | 238 | ||
240 | irq = get_evtchn_to_irq(port); | 239 | irq = get_evtchn_to_irq(port); |
241 | if (irq != -1) { | 240 | if (irq != -1) |
242 | desc = irq_to_desc(irq); | 241 | generic_handle_irq(irq); |
243 | if (desc) | ||
244 | generic_handle_irq_desc(irq, desc); | ||
245 | } | ||
246 | } | 242 | } |
247 | 243 | ||
248 | static void consume_one_event(unsigned cpu, | 244 | static void consume_one_event(unsigned cpu, |