*/
        if (adapter->flags & FLAG_IS_QUAD_PORT) {
                struct pci_dev *us_dev = pdev->bus->self;
-               int pos = pci_pcie_cap(us_dev);
                u16 devctl;
 
-               pci_read_config_word(us_dev, pos + PCI_EXP_DEVCTL, &devctl);
-               pci_write_config_word(us_dev, pos + PCI_EXP_DEVCTL,
-                                     (devctl & ~PCI_EXP_DEVCTL_CERE));
+               pcie_capability_read_word(us_dev, PCI_EXP_DEVCTL, &devctl);
+               pcie_capability_write_word(us_dev, PCI_EXP_DEVCTL,
+                                          (devctl & ~PCI_EXP_DEVCTL_CERE));
 
                e1000_power_off(pdev, sleep, wake);
 
-               pci_write_config_word(us_dev, pos + PCI_EXP_DEVCTL, devctl);
+               pcie_capability_write_word(us_dev, PCI_EXP_DEVCTL, devctl);
        } else {
                e1000_power_off(pdev, sleep, wake);
        }
 #else
 static void __e1000e_disable_aspm(struct pci_dev *pdev, u16 state)
 {
-       int pos;
-       u16 reg16;
-
        /*
         * Both device and parent should have the same ASPM setting.
         * Disable ASPM in downstream component first and then upstream.
         */
-       pos = pci_pcie_cap(pdev);
-       pci_read_config_word(pdev, pos + PCI_EXP_LNKCTL, ®16);
-       reg16 &= ~state;
-       pci_write_config_word(pdev, pos + PCI_EXP_LNKCTL, reg16);
-
-       if (!pdev->bus->self)
-               return;
+       pcie_capability_clear_word(pdev, PCI_EXP_LNKCTL, state);
 
-       pos = pci_pcie_cap(pdev->bus->self);
-       pci_read_config_word(pdev->bus->self, pos + PCI_EXP_LNKCTL, ®16);
-       reg16 &= ~state;
-       pci_write_config_word(pdev->bus->self, pos + PCI_EXP_LNKCTL, reg16);
+       if (pdev->bus->self)
+               pcie_capability_clear_word(pdev->bus->self, PCI_EXP_LNKCTL,
+                                          state);
 }
 #endif
 static void e1000e_disable_aspm(struct pci_dev *pdev, u16 state)