PCI/MSI: Remove arch_msi_check_device()
authorAlexander Gordeev <agordeev@redhat.com>
Tue, 23 Sep 2014 18:39:54 +0000 (12:39 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 1 Oct 2014 18:21:14 +0000 (12:21 -0600)
No architectures implement arch_msi_check_device() or the struct msi_chip
.check_device() method, so remove them.

Remove the "type" parameter to pci_msi_check_device() because it was only
used to call arch_msi_check_device() and is no longer needed.

[bhelgaas: changelog, split to separate patch]
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/msi.c
include/linux/msi.h

index 5a40516..db21b77 100644 (file)
@@ -56,16 +56,6 @@ void __weak arch_teardown_msi_irq(unsigned int irq)
        chip->teardown_irq(chip, irq);
 }
 
-int __weak arch_msi_check_device(struct pci_dev *dev, int nvec, int type)
-{
-       struct msi_chip *chip = dev->bus->msi;
-
-       if (!chip || !chip->check_device)
-               return 0;
-
-       return chip->check_device(chip, dev, nvec, type);
-}
-
 int __weak arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
 {
        struct msi_desc *entry;
@@ -815,10 +805,9 @@ out_free:
  * to determine if MSI/-X are supported for the device. If MSI/-X is
  * supported return 0, else return an error code.
  **/
-static int pci_msi_check_device(struct pci_dev *dev, int nvec, int type)
+static int pci_msi_check_device(struct pci_dev *dev, int nvec)
 {
        struct pci_bus *bus;
-       int ret;
 
        /* MSI must be globally enabled and supported by the device */
        if (!pci_msi_enable || !dev || dev->no_msi)
@@ -843,10 +832,6 @@ static int pci_msi_check_device(struct pci_dev *dev, int nvec, int type)
                if (bus->bus_flags & PCI_BUS_FLAGS_NO_MSI)
                        return -EINVAL;
 
-       ret = arch_msi_check_device(dev, nvec, type);
-       if (ret)
-               return ret;
-
        return 0;
 }
 
@@ -952,7 +937,7 @@ int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec)
        if (!entries || !dev->msix_cap || dev->current_state != PCI_D0)
                return -EINVAL;
 
-       status = pci_msi_check_device(dev, nvec, PCI_CAP_ID_MSIX);
+       status = pci_msi_check_device(dev, nvec);
        if (status)
                return status;
 
@@ -1086,7 +1071,7 @@ int pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec)
                nvec = maxvec;
 
        do {
-               rc = pci_msi_check_device(dev, nvec, PCI_CAP_ID_MSI);
+               rc = pci_msi_check_device(dev, nvec);
                if (rc < 0) {
                        return rc;
                } else if (rc > 0) {
index 8103f32..dbf7cc9 100644 (file)
@@ -60,7 +60,6 @@ int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc);
 void arch_teardown_msi_irq(unsigned int irq);
 int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
 void arch_teardown_msi_irqs(struct pci_dev *dev);
-int arch_msi_check_device(struct pci_dev* dev, int nvec, int type);
 void arch_restore_msi_irqs(struct pci_dev *dev);
 
 void default_teardown_msi_irqs(struct pci_dev *dev);
@@ -77,8 +76,6 @@ struct msi_chip {
        int (*setup_irq)(struct msi_chip *chip, struct pci_dev *dev,
                         struct msi_desc *desc);
        void (*teardown_irq)(struct msi_chip *chip, unsigned int irq);
-       int (*check_device)(struct msi_chip *chip, struct pci_dev *dev,
-                           int nvec, int type);
 };
 
 #endif /* LINUX_MSI_H */