diff options
author | Tal Gilboa <talgi@mellanox.com> | 2018-03-30 15:24:36 +0200 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2018-03-30 22:33:38 +0200 |
commit | c70b65fb7f121da7d01f62588ce6abb4741f513f (patch) | |
tree | 383cdda6cad94b1ef9b3f116382221c3a379089e /drivers/pci/pci-sysfs.c | |
parent | PCI: Add pcie_get_speed_cap() to find max supported link speed (diff) | |
download | linux-c70b65fb7f121da7d01f62588ce6abb4741f513f.tar.xz linux-c70b65fb7f121da7d01f62588ce6abb4741f513f.zip |
PCI: Add pcie_get_width_cap() to find max supported link width
Add pcie_get_width_cap() to find the max link width supported by a device.
Change max_link_width_show() to use pcie_get_width_cap().
Signed-off-by: Tal Gilboa <talgi@mellanox.com>
[bhelgaas: return width directly instead of error and *width, don't export
outside drivers/pci]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
Diffstat (limited to 'drivers/pci/pci-sysfs.c')
-rw-r--r-- | drivers/pci/pci-sysfs.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c index c2ea05fbbf1d..63d0952684fb 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c @@ -167,15 +167,9 @@ static DEVICE_ATTR_RO(max_link_speed); static ssize_t max_link_width_show(struct device *dev, struct device_attribute *attr, char *buf) { - struct pci_dev *pci_dev = to_pci_dev(dev); - u32 linkcap; - int err; - - err = pcie_capability_read_dword(pci_dev, PCI_EXP_LNKCAP, &linkcap); - if (err) - return -EINVAL; + struct pci_dev *pdev = to_pci_dev(dev); - return sprintf(buf, "%u\n", (linkcap & PCI_EXP_LNKCAP_MLW) >> 4); + return sprintf(buf, "%u\n", pcie_get_width_cap(pdev)); } static DEVICE_ATTR_RO(max_link_width); |