aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/misc/cardreader/rts5249.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2020-05-21 13:05:43 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-05-22 09:38:13 +0200
commit3d1e7aa80d1c0e7ce8313f21c1e9c14a12d3ba48 (patch)
tree41036f3d6a12f55a2b15ac150fbb4df0f5f5ae17 /drivers/misc/cardreader/rts5249.c
parentmisc: rtsx: Use ASPM_MASK_NEG instead of hard-coded value (diff)
downloadwireguard-linux-3d1e7aa80d1c0e7ce8313f21c1e9c14a12d3ba48.tar.xz
wireguard-linux-3d1e7aa80d1c0e7ce8313f21c1e9c14a12d3ba48.zip
misc: rtsx: Use pcie_capability_clear_and_set_word() for PCI_EXP_LNKCTL
Instead of using the driver-specific rtsx_pci_update_cfg_byte() to update the PCIe Link Control Register, use pcie_capability_clear_and_set_word() like the rest of the kernel does. This makes it easier to maintain ASPM across the PCI core and drivers. Remove the now-unused rtsx_pci_update_cfg_byte() and ASPM_MASK_NEG definitions. No functional change intended. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Link: https://lore.kernel.org/r/20200521180545.1159896-5-helgaas@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/cardreader/rts5249.c')
-rw-r--r--drivers/misc/cardreader/rts5249.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/misc/cardreader/rts5249.c b/drivers/misc/cardreader/rts5249.c
index 5171fdd92f3c..d122608e9f79 100644
--- a/drivers/misc/cardreader/rts5249.c
+++ b/drivers/misc/cardreader/rts5249.c
@@ -349,15 +349,12 @@ static int rtsx_base_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage)
static void rts5249_set_aspm(struct rtsx_pcr *pcr, bool enable)
{
- u8 val = 0;
-
if (pcr->aspm_enabled == enable)
return;
- if (enable)
- val = pcr->aspm_en;
- rtsx_pci_update_cfg_byte(pcr, pcr->pcie_cap + PCI_EXP_LNKCTL,
- ASPM_MASK_NEG, val);
+ pcie_capability_clear_and_set_word(pcr->pci, PCI_EXP_LNKCTL,
+ PCI_EXP_LNKCTL_ASPMC,
+ enable ? pcr->aspm_en : 0);
pcr->aspm_enabled = enable;
}