ia64: Use accessor functions all over the place
Thomas Gleixner [Thu, 24 Mar 2011 15:44:38 +0000 (16:44 +0100)]
Use the proper accessor functions instead of open coded irq_desc access.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

arch/ia64/kernel/irq.c
arch/ia64/kernel/irq_ia64.c
arch/ia64/kernel/mca.c
arch/ia64/sn/kernel/irq.c

index ba29817..3fbf4bf 100644 (file)
@@ -103,7 +103,7 @@ static char irq_redir [NR_IRQS]; // = { [0 ... NR_IRQS-1] = 1 };
 void set_irq_affinity_info (unsigned int irq, int hwid, int redir)
 {
        if (irq < NR_IRQS) {
-               cpumask_copy(irq_desc[irq].affinity,
+               cpumask_copy(irq_get_irq_data(irq)->affinity,
                             cpumask_of(cpu_logical_id(hwid)));
                irq_redir[irq] = (char) (redir & 0xff);
        }
index 38c07b8..8adb08b 100644 (file)
@@ -343,7 +343,7 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id)
                if (irq < 0)
                        continue;
 
-               desc = irq_desc + irq;
+               desc = irq_to_desc(irq);
                cfg = irq_cfg + irq;
                raw_spin_lock(&desc->lock);
                if (!cfg->move_cleanup_count)
@@ -626,13 +626,11 @@ static struct irqaction tlb_irqaction = {
 void
 ia64_native_register_percpu_irq (ia64_vector vec, struct irqaction *action)
 {
-       struct irq_desc *desc;
        unsigned int irq;
 
        irq = vec;
        BUG_ON(bind_irq_vector(irq, vec, CPU_MASK_ALL));
-       desc = irq_desc + irq;
-       desc->status |= IRQ_PER_CPU;
+       irq_set_status_flags(irq, IRQ_PER_CPU);
        set_irq_chip(irq, &irq_type_ia64_lsapic);
        if (action)
                setup_irq(irq, action);
index 80d50b8..84fb405 100644 (file)
@@ -2125,7 +2125,6 @@ ia64_mca_late_init(void)
        cpe_poll_timer.function = ia64_mca_cpe_poll;
 
        {
-               struct irq_desc *desc;
                unsigned int irq;
 
                if (cpe_vector >= 0) {
@@ -2133,8 +2132,7 @@ ia64_mca_late_init(void)
                        irq = local_vector_to_irq(cpe_vector);
                        if (irq > 0) {
                                cpe_poll_enabled = 0;
-                               desc = irq_desc + irq;
-                               desc->status |= IRQ_PER_CPU;
+                               irq_set_status_flags(irq, IRQ_PER_CPU);
                                setup_irq(irq, &mca_cpe_irqaction);
                                ia64_cpe_irq = irq;
                                ia64_mca_register_cpev(cpe_vector);
index 79ef3d0..b2aa793 100644 (file)
@@ -273,15 +273,13 @@ unsigned int sn_local_vector_to_irq(u8 vector)
 void sn_irq_init(void)
 {
        int i;
-       struct irq_desc *base_desc = irq_desc;
 
        ia64_first_device_vector = IA64_SN2_FIRST_DEVICE_VECTOR;
        ia64_last_device_vector = IA64_SN2_LAST_DEVICE_VECTOR;
 
        for (i = 0; i < NR_IRQS; i++) {
-               if (base_desc[i].chip == &no_irq_chip) {
-                       base_desc[i].chip = &irq_type_sn;
-               }
+               if (irq_get_chip(i) == &no_irq_chip)
+                       irq_set_chip(i, &irq_type_sn);
        }
 }