PCI: Use pdev->pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)
authorYijing Wang <wangyijing@huawei.com>
Tue, 18 Jun 2013 08:22:14 +0000 (16:22 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 18 Jun 2013 18:05:34 +0000 (12:05 -0600)
PCI PM cap register offset has been saved in pci_pm_init(),
so we can use pdev->pm_cap instead of using pci_find_capability(..)
here.

Signed-off-by: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/pci/pci.c
drivers/pci/quirks.c

index 709791b..e37fea6 100644 (file)
@@ -805,7 +805,7 @@ pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state)
 {
        pci_power_t ret;
 
-       if (!pci_find_capability(dev, PCI_CAP_ID_PM))
+       if (!dev->pm_cap)
                return PCI_D0;
 
        ret = platform_pci_choose_state(dev);
index 7f49257..dee5ed4 100644 (file)
@@ -1832,7 +1832,6 @@ static void quirk_e100_interrupt(struct pci_dev *dev)
        u16 command, pmcsr;
        u8 __iomem *csr;
        u8 cmd_hi;
-       int pm;
 
        switch (dev->device) {
        /* PCI IDs taken from drivers/net/e100.c */
@@ -1870,9 +1869,8 @@ static void quirk_e100_interrupt(struct pci_dev *dev)
         * Check that the device is in the D0 power state. If it's not,
         * there is no point to look any further.
         */
-       pm = pci_find_capability(dev, PCI_CAP_ID_PM);
-       if (pm) {
-               pci_read_config_word(dev, pm + PCI_PM_CTRL, &pmcsr);
+       if (dev->pm_cap) {
+               pci_read_config_word(dev, dev->pm_cap + PCI_PM_CTRL, &pmcsr);
                if ((pmcsr & PCI_PM_CTRL_STATE_MASK) != PCI_D0)
                        return;
        }