From: Jiang Liu <jiang.liu@xxxxxxxxxx> Use PCIe cap access functions to simplify pcihp_slot.c Signed-off-by: Jiang Liu <liuj97@xxxxxxxxx> --- drivers/pci/hotplug/pcihp_slot.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/pci/hotplug/pcihp_slot.c b/drivers/pci/hotplug/pcihp_slot.c index 8c05a18..08ca019 100644 --- a/drivers/pci/hotplug/pcihp_slot.c +++ b/drivers/pci/hotplug/pcihp_slot.c @@ -103,8 +103,7 @@ static void program_hpp_type2(struct pci_dev *dev, struct hpp_type2 *hpp) return; /* Find PCI Express capability */ - pos = pci_pcie_cap(dev); - if (!pos) + if (!pci_is_pcie(dev)) return; if (hpp->revision > 1) { @@ -114,16 +113,18 @@ static void program_hpp_type2(struct pci_dev *dev, struct hpp_type2 *hpp) } /* Initialize Device Control Register */ - pci_read_config_word(dev, pos + PCI_EXP_DEVCTL, ®16); + if (pci_pcie_cap_read_word(dev, PCI_EXP_DEVCTL, ®16)) + return; reg16 = (reg16 & hpp->pci_exp_devctl_and) | hpp->pci_exp_devctl_or; - pci_write_config_word(dev, pos + PCI_EXP_DEVCTL, reg16); + pci_pcie_cap_write_word(dev, PCI_EXP_DEVCTL, reg16); /* Initialize Link Control Register */ if (dev->subordinate) { - pci_read_config_word(dev, pos + PCI_EXP_LNKCTL, ®16); - reg16 = (reg16 & hpp->pci_exp_lnkctl_and) - | hpp->pci_exp_lnkctl_or; - pci_write_config_word(dev, pos + PCI_EXP_LNKCTL, reg16); + if (pci_pcie_cap_read_word(dev, PCI_EXP_LNKCTL, ®16)) { + reg16 = (reg16 & hpp->pci_exp_lnkctl_and) + | hpp->pci_exp_lnkctl_or; + pci_pcie_cap_write_word(dev, PCI_EXP_LNKCTL, reg16); + } } /* Find Advanced Error Reporting Enhanced Capability */ -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html