summaryrefslogtreecommitdiff
path: root/drivers/pci/switch
diff options
context:
space:
mode:
authorLogan Gunthorpe <logang@deltatee.com>2020-01-14 20:56:46 -0700
committerBjorn Helgaas <bhelgaas@google.com>2020-01-15 11:00:38 -0600
commita3321ca394082f403b447646d81c18ff6b39f4a6 (patch)
treefe3299a3342adf9d050b158f7aed3fa1e7202cec /drivers/pci/switch
parent993d208daaebebc3f3ec211e862a413a90e8d69b (diff)
PCI/switchtec: Add Gen4 system info register support
Add the Gen4-specific system info registers and ensure their usage is guarded by a check on the device's generation. Link: https://lore.kernel.org/r/20200115035648.2578-6-logang@deltatee.com Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/switch')
-rw-r--r--drivers/pci/switch/switchtec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c
index c4dae075a692..b09c3f53a552 100644
--- a/drivers/pci/switch/switchtec.c
+++ b/drivers/pci/switch/switchtec.c
@@ -321,6 +321,9 @@ static ssize_t field ## _show(struct device *dev, \
if (stdev->gen == SWITCHTEC_GEN3) \
return io_string_show(buf, &si->gen3.field, \
sizeof(si->gen3.field)); \
+ else if (stdev->gen == SWITCHTEC_GEN4) \
+ return io_string_show(buf, &si->gen4.field, \
+ sizeof(si->gen4.field)); \
else \
return -ENOTSUPP; \
} \
@@ -1429,6 +1432,8 @@ static int switchtec_init_pci(struct switchtec_dev *stdev,
if (stdev->gen == SWITCHTEC_GEN3)
part_id = &stdev->mmio_sys_info->gen3.partition_id;
+ else if (stdev->gen == SWITCHTEC_GEN4)
+ part_id = &stdev->mmio_sys_info->gen4.partition_id;
else
return -ENOTSUPP;