PCI hotplug: cpqphp: use pci_dev->subsystem_{vendor|device}
Sergei Shtylyov [Wed, 13 Jul 2011 15:21:25 +0000 (19:21 +0400)]
The driver reads PCI subsystem IDs from the PCI configuration registers while
they are already stored by the PCI subsystem in the 'subsystem_{vendor|device}'
fields of 'struct pci_dev'...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

drivers/pci/hotplug/cpqphp_core.c

index 4952c3b..627274c 100644 (file)
@@ -868,11 +868,7 @@ static int cpqhpc_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        /* TODO: This code can be made to support non-Compaq or Intel
         * subsystem IDs
         */
-       rc = pci_read_config_word(pdev, PCI_SUBSYSTEM_VENDOR_ID, &subsystem_vid);
-       if (rc) {
-               err("%s : pci_read_config_word failed\n", __func__);
-               goto err_disable_device;
-       }
+       subsystem_vid = pdev->subsystem_vendor;
        dbg("Subsystem Vendor ID: %x\n", subsystem_vid);
        if ((subsystem_vid != PCI_VENDOR_ID_COMPAQ) && (subsystem_vid != PCI_VENDOR_ID_INTEL)) {
                err(msg_HPC_non_compaq_or_intel);
@@ -887,11 +883,7 @@ static int cpqhpc_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                goto err_disable_device;
        }
 
-       rc = pci_read_config_word(pdev, PCI_SUBSYSTEM_ID, &subsystem_deviceid);
-       if (rc) {
-               err("%s : pci_read_config_word failed\n", __func__);
-               goto err_free_ctrl;
-       }
+       subsystem_deviceid = pdev->subsystem_device;
 
        info("Hot Plug Subsystem Device ID: %x\n", subsystem_deviceid);