x86/irq: Use accessor irq_data_get_node()
authorJiang Liu <jiang.liu@linux.intel.com>
Mon, 1 Jun 2015 08:05:14 +0000 (16:05 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 13 Jul 2015 19:22:46 +0000 (21:22 +0200)
Use accessor irq_data_get_node() to hide struct irq_data
implementation detail, so we can move node to irq_data_common later.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/apic/vector.c
arch/x86/platform/uv/uv_irq.c

index 28eba2d..9b62f69 100644 (file)
@@ -296,7 +296,7 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq,
        struct irq_alloc_info *info = arg;
        struct apic_chip_data *data;
        struct irq_data *irq_data;
-       int i, err;
+       int i, err, node;
 
        if (disable_apic)
                return -ENXIO;
@@ -308,12 +308,13 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq,
        for (i = 0; i < nr_irqs; i++) {
                irq_data = irq_domain_get_irq_data(domain, virq + i);
                BUG_ON(!irq_data);
+               node = irq_data_get_node(irq_data);
 #ifdef CONFIG_X86_IO_APIC
                if (virq + i < nr_legacy_irqs() && legacy_irq_data[virq + i])
                        data = legacy_irq_data[virq + i];
                else
 #endif
-                       data = alloc_apic_chip_data(irq_data->node);
+                       data = alloc_apic_chip_data(node);
                if (!data) {
                        err = -ENOMEM;
                        goto error;
@@ -322,8 +323,7 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq,
                irq_data->chip = &lapic_controller;
                irq_data->chip_data = data;
                irq_data->hwirq = virq + i;
-               err = assign_irq_vector_policy(virq, irq_data->node, data,
-                                              info);
+               err = assign_irq_vector_policy(virq, node, data, info);
                if (err)
                        goto error;
        }
index 8570abe..e1c2463 100644 (file)
@@ -89,7 +89,7 @@ static int uv_domain_alloc(struct irq_domain *domain, unsigned int virq,
                return -EINVAL;
 
        chip_data = kmalloc_node(sizeof(*chip_data), GFP_KERNEL,
-                                irq_data->node);
+                                irq_data_get_node(irq_data));
        if (!chip_data)
                return -ENOMEM;