PCI: Convert device-specific ACS quirks from NULL termination to ARRAY_SIZE
authorLogan Gunthorpe <logang@deltatee.com>
Thu, 9 Aug 2018 21:45:47 +0000 (16:45 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 9 Aug 2018 22:47:44 +0000 (17:47 -0500)
Convert the search for device-specific ACS enable quirks from searching a
NULL-terminated array to iterating through the array, which is always
fixed-size anyway.  No functional change intended.

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
[bhelgaas: changelog, split to separate patch for reviewability]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
drivers/pci/quirks.c

index f439de8..823d8e4 100644 (file)
@@ -4560,20 +4560,20 @@ static const struct pci_dev_enable_acs {
 } pci_dev_enable_acs[] = {
        { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_enable_intel_pch_acs },
        { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_quirk_enable_intel_spt_pch_acs },
-       { 0 }
 };
 
 int pci_dev_specific_enable_acs(struct pci_dev *dev)
 {
-       const struct pci_dev_enable_acs *i;
-       int ret;
+       const struct pci_dev_enable_acs *p;
+       int i, ret;
 
-       for (i = pci_dev_enable_acs; i->enable_acs; i++) {
-               if ((i->vendor == dev->vendor ||
-                    i->vendor == (u16)PCI_ANY_ID) &&
-                   (i->device == dev->device ||
-                    i->device == (u16)PCI_ANY_ID)) {
-                       ret = i->enable_acs(dev);
+       for (i = 0; i < ARRAY_SIZE(pci_dev_enable_acs); i++) {
+               p = &pci_dev_enable_acs[i];
+               if ((p->vendor == dev->vendor ||
+                    p->vendor == (u16)PCI_ANY_ID) &&
+                   (p->device == dev->device ||
+                    p->device == (u16)PCI_ANY_ID)) {
+                       ret = p->enable_acs(dev);
                        if (ret >= 0)
                                return ret;
                }