No functional change just less crap.

This does not replace the requirement to move x86 to irq domains, but
it limits the mess to some degree.

Signed-off-by: Thomas Gleixner <[email protected]>
Cc: [email protected]
---
 arch/x86/kernel/apic/io_apic.c |   23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

Index: tip/arch/x86/kernel/apic/io_apic.c
===================================================================
--- tip.orig/arch/x86/kernel/apic/io_apic.c
+++ tip/arch/x86/kernel/apic/io_apic.c
@@ -3169,8 +3169,8 @@ int setup_msi_irq(struct pci_dev *dev, s
 
 int native_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
 {
-       unsigned int irq, irq_want;
        struct msi_desc *msidesc;
+       unsigned int irq;
        int node, ret;
 
        /* Multiple MSI vectors only supported with interrupt remapping */
@@ -3178,28 +3178,25 @@ int native_setup_msi_irqs(struct pci_dev
                return 1;
 
        node = dev_to_node(&dev->dev);
-       irq_want = nr_irqs_gsi;
+
        list_for_each_entry(msidesc, &dev->msi_list, list) {
-               irq = create_irq_nr(irq_want, node);
-               if (irq == 0)
+               irq = irq_alloc_hwirq(node);
+               if (!irq)
                        return -ENOSPC;
 
-               irq_want = irq + 1;
-
                ret = setup_msi_irq(dev, msidesc, irq, 0);
-               if (ret < 0)
-                       goto error;
+               if (ret < 0) {
+                       irq_free_hwirq(irq);
+                       return ret;
+               }
+
        }
        return 0;
-
-error:
-       destroy_irq(irq);
-       return ret;
 }
 
 void native_teardown_msi_irq(unsigned int irq)
 {
-       destroy_irq(irq);
+       irq_free_hwirq(irq);
 }
 
 #ifdef CONFIG_DMAR_TABLE


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to