Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
[firefly-linux-kernel-4.4.55.git] / drivers / iommu / irq_remapping.c
index 228632c99adbae9080f9abea301c1c7335121f48..33c43952408067f604c5fa8a6b0d707086408095 100644 (file)
@@ -51,7 +51,7 @@ static void irq_remapping_disable_io_apic(void)
 
 static int do_setup_msi_irqs(struct pci_dev *dev, int nvec)
 {
-       int node, ret, sub_handle, nvec_pow2, index = 0;
+       int ret, sub_handle, nvec_pow2, index = 0;
        unsigned int irq;
        struct msi_desc *msidesc;
 
@@ -61,8 +61,7 @@ static int do_setup_msi_irqs(struct pci_dev *dev, int nvec)
        WARN_ON(msidesc->msi_attrib.multiple);
        WARN_ON(msidesc->nvec_used);
 
-       node = dev_to_node(&dev->dev);
-       irq = __create_irqs(get_nr_irqs_gsi(), nvec, node);
+       irq = irq_alloc_hwirqs(nvec, dev_to_node(&dev->dev));
        if (irq == 0)
                return -ENOSPC;
 
@@ -89,7 +88,7 @@ static int do_setup_msi_irqs(struct pci_dev *dev, int nvec)
        return 0;
 
 error:
-       destroy_irqs(irq, nvec);
+       irq_free_hwirqs(irq, nvec);
 
        /*
         * Restore altered MSI descriptor fields and prevent just destroyed
@@ -109,12 +108,11 @@ static int do_setup_msix_irqs(struct pci_dev *dev, int nvec)
        unsigned int irq;
 
        node            = dev_to_node(&dev->dev);
-       irq             = get_nr_irqs_gsi();
        sub_handle      = 0;
 
        list_for_each_entry(msidesc, &dev->msi_list, list) {
 
-               irq = create_irq_nr(irq, node);
+               irq = irq_alloc_hwirq(node);
                if (irq == 0)
                        return -1;
 
@@ -137,7 +135,7 @@ static int do_setup_msix_irqs(struct pci_dev *dev, int nvec)
        return 0;
 
 error:
-       destroy_irq(irq);
+       irq_free_hwirq(irq);
        return ret;
 }