>From b504067748a1c0e4c4847fbb569c149b43d02904 Mon Sep 17 00:00:00 2001 From: Dirk Gouders Date: Fri, 12 Sep 2014 21:20:38 +0200 Subject: [PATCH 2/4] PCI, pciehp: Use generic pcie_link_disable Also remove old version with not needed return check. Signed-off-by: Yinghai Lu --- drivers/pci/hotplug/pciehp_hpc.c | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index 9da84b8..e8caa18 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -303,28 +303,6 @@ int pciehp_check_link_status(struct controller *ctrl) return 0; } -static int __pciehp_link_set(struct controller *ctrl, bool enable) -{ - struct pci_dev *pdev = ctrl_dev(ctrl); - u16 lnk_ctrl; - - pcie_capability_read_word(pdev, PCI_EXP_LNKCTL, &lnk_ctrl); - - if (enable) - lnk_ctrl &= ~PCI_EXP_LNKCTL_LD; - else - lnk_ctrl |= PCI_EXP_LNKCTL_LD; - - pcie_capability_write_word(pdev, PCI_EXP_LNKCTL, lnk_ctrl); - ctrl_dbg(ctrl, "%s: lnk_ctrl = %x\n", __func__, lnk_ctrl); - return 0; -} - -static int pciehp_link_enable(struct controller *ctrl) -{ - return __pciehp_link_set(ctrl, true); -} - void pciehp_get_attention_status(struct slot *slot, u8 *status) { struct controller *ctrl = slot->ctrl; @@ -471,7 +449,6 @@ int pciehp_power_on_slot(struct slot *slot) struct controller *ctrl = slot->ctrl; struct pci_dev *pdev = ctrl_dev(ctrl); u16 slot_status; - int retval; /* Clear sticky power-fault bit from previous power failures */ pcie_capability_read_word(pdev, PCI_EXP_SLTSTA, &slot_status); @@ -485,11 +462,10 @@ int pciehp_power_on_slot(struct slot *slot) pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, PCI_EXP_SLTCTL_PWR_ON); - retval = pciehp_link_enable(ctrl); - if (retval) - ctrl_err(ctrl, "%s: Can not enable the link!\n", __func__); + /* Enable the link */ + pcie_link_disable_set(ctrl->pcie->port, 0); - return retval; + return 0; } void pciehp_power_off_slot(struct slot *slot) -- 2.1.0