[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [tip:irq/core] xen: Use the proper irq functions



Commit-ID:  589d03e93f6cd595f68891e48f0804f2c8f38aae
Gitweb:     http://git.kernel.org/tip/589d03e93f6cd595f68891e48f0804f2c8f38aae
Author:     Thomas Gleixner <tglx@xxxxxxxxxxxxx>
AuthorDate: Sun, 23 Feb 2014 21:40:18 +0000
Committer:  Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Tue, 4 Mar 2014 17:37:52 +0100

xen: Use the proper irq functions

generic_handler_irq() already tests for !desc so use this instead of
generic_handle_irq_desc().

Use irq_get_irq_data() instead of desc->irq_data.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Xen <xen-devel@xxxxxxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20140223212738.222412125@xxxxxxxxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
---
 drivers/xen/events/events_2l.c   | 15 ++++-----------
 drivers/xen/events/events_base.c |  7 ++-----
 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 d7ff917..5db43fc 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)
        int start_word_idx, start_bit_idx;
        int word_idx, bit_idx;
        int i;
-       struct irq_desc *desc;
        struct shared_info *s = HYPERVISOR_shared_info;
        struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu);
 
@@ -176,11 +175,8 @@ static void evtchn_2l_handle_events(unsigned cpu)
                unsigned int evtchn = evtchn_from_irq(irq);
                word_idx = evtchn / BITS_PER_LONG;
                bit_idx = evtchn % BITS_PER_LONG;
-               if (active_evtchns(cpu, s, word_idx) & (1ULL << bit_idx)) {
-                       desc = irq_to_desc(irq);
-                       if (desc)
-                               generic_handle_irq_desc(irq, desc);
-               }
+               if (active_evtchns(cpu, s, word_idx) & (1ULL << bit_idx))
+                       generic_handle_irq(irq);
        }
 
        /*
@@ -245,11 +241,8 @@ static void evtchn_2l_handle_events(unsigned cpu)
                        port = (word_idx * BITS_PER_EVTCHN_WORD) + bit_idx;
                        irq = get_evtchn_to_irq(port);
 
-                       if (irq != -1) {
-                               desc = irq_to_desc(irq);
-                               if (desc)
-                                       generic_handle_irq_desc(irq, desc);
-                       }
+                       if (irq != -1)
+                               generic_handle_irq(irq);
 
                        bit_idx = (bit_idx + 1) % BITS_PER_EVTCHN_WORD;
 
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index f4a9e33..7fea02c 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)
 
        BUG_ON(irq == -1);
 #ifdef CONFIG_SMP
-       cpumask_copy(irq_to_desc(irq)->irq_data.affinity, cpumask_of(cpu));
+       cpumask_copy(irq_get_irq_data(irq)->affinity, cpumask_of(cpu));
 #endif
-
        xen_evtchn_port_bind_to_cpu(info, cpu);
 
        info->cpu = cpu;
@@ -373,10 +372,8 @@ static void xen_irq_init(unsigned irq)
 {
        struct irq_info *info;
 #ifdef CONFIG_SMP
-       struct irq_desc *desc = irq_to_desc(irq);
-
        /* By default all event channels notify CPU#0. */
-       cpumask_copy(desc->irq_data.affinity, cpumask_of(0));
+       cpumask_copy(irq_get_irq_data(irq)->affinity, cpumask_of(0));
 #endif
 
        info = kzalloc(sizeof(*info), GFP_KERNEL);
diff --git a/drivers/xen/events/events_fifo.c b/drivers/xen/events/events_fifo.c
index 1de2a19..96109a9 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)
 static void handle_irq_for_port(unsigned port)
 {
        int irq;
-       struct irq_desc *desc;
 
        irq = get_evtchn_to_irq(port);
-       if (irq != -1) {
-               desc = irq_to_desc(irq);
-               if (desc)
-                       generic_handle_irq_desc(irq, desc);
-       }
+       if (irq != -1)
+               generic_handle_irq(irq);
 }
 
 static void consume_one_event(unsigned cpu,

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.