Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

switchtec: Use generic PCI Vendor ID and Class Code

Move the Microsemi Switchtec PCI Vendor ID (same as
PCI_VENDOR_ID_PMC_Sierra) to pci_ids.h. Also, replace Microsemi class
constants with the standard PCI definitions.

Signed-off-by: Doug Meyer <dmeyer@gigaio.com>
[bhelgaas: restore SPDX (I assume it was removed by mistake), remove
device ID definitions]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>

authored by

Doug Meyer and committed by
Bjorn Helgaas
cfdfc14e ce397d21

+10 -12
+2 -1
drivers/ntb/hw/mscc/ntb_hw_switchtec.c
··· 19 19 #include <linux/kthread.h> 20 20 #include <linux/interrupt.h> 21 21 #include <linux/ntb.h> 22 + #include <linux/pci.h> 22 23 23 24 MODULE_DESCRIPTION("Microsemi Switchtec(tm) NTB Driver"); 24 25 MODULE_VERSION("0.1"); ··· 1488 1487 1489 1488 stdev->sndev = NULL; 1490 1489 1491 - if (stdev->pdev->class != MICROSEMI_NTB_CLASSCODE) 1490 + if (stdev->pdev->class != (PCI_CLASS_BRIDGE_OTHER << 8)) 1492 1491 return -ENODEV; 1493 1492 1494 1493 sndev = kzalloc_node(sizeof(*sndev), GFP_KERNEL, dev_to_node(dev));
+7 -7
drivers/pci/switch/switchtec.c
··· 641 641 642 642 for (i = 0; i < SWITCHTEC_MAX_PFF_CSR; i++) { 643 643 reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id); 644 - if (reg != MICROSEMI_VENDOR_ID) 644 + if (reg != PCI_VENDOR_ID_MICROSEMI) 645 645 break; 646 646 647 647 reg = ioread32(&stdev->mmio_pff_csr[i].pff_event_summary); ··· 1203 1203 1204 1204 for (i = 0; i < SWITCHTEC_MAX_PFF_CSR; i++) { 1205 1205 reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id); 1206 - if (reg != MICROSEMI_VENDOR_ID) 1206 + if (reg != PCI_VENDOR_ID_MICROSEMI) 1207 1207 break; 1208 1208 } 1209 1209 ··· 1267 1267 struct switchtec_dev *stdev; 1268 1268 int rc; 1269 1269 1270 - if (pdev->class == MICROSEMI_NTB_CLASSCODE) 1270 + if (pdev->class == (PCI_CLASS_BRIDGE_OTHER << 8)) 1271 1271 request_module_nowait("ntb_hw_switchtec"); 1272 1272 1273 1273 stdev = stdev_create(pdev); ··· 1321 1321 1322 1322 #define SWITCHTEC_PCI_DEVICE(device_id) \ 1323 1323 { \ 1324 - .vendor = MICROSEMI_VENDOR_ID, \ 1324 + .vendor = PCI_VENDOR_ID_MICROSEMI, \ 1325 1325 .device = device_id, \ 1326 1326 .subvendor = PCI_ANY_ID, \ 1327 1327 .subdevice = PCI_ANY_ID, \ 1328 - .class = MICROSEMI_MGMT_CLASSCODE, \ 1328 + .class = (PCI_CLASS_MEMORY_OTHER << 8), \ 1329 1329 .class_mask = 0xFFFFFFFF, \ 1330 1330 }, \ 1331 1331 { \ 1332 - .vendor = MICROSEMI_VENDOR_ID, \ 1332 + .vendor = PCI_VENDOR_ID_MICROSEMI, \ 1333 1333 .device = device_id, \ 1334 1334 .subvendor = PCI_ANY_ID, \ 1335 1335 .subdevice = PCI_ANY_ID, \ 1336 - .class = MICROSEMI_NTB_CLASSCODE, \ 1336 + .class = (PCI_CLASS_BRIDGE_OTHER << 8), \ 1337 1337 .class_mask = 0xFFFFFFFF, \ 1338 1338 } 1339 1339
+1
include/linux/pci_ids.h
··· 1668 1668 #define PCI_DEVICE_ID_COMPEX_ENET100VG4 0x0112 1669 1669 1670 1670 #define PCI_VENDOR_ID_PMC_Sierra 0x11f8 1671 + #define PCI_VENDOR_ID_MICROSEMI 0x11f8 1671 1672 1672 1673 #define PCI_VENDOR_ID_RP 0x11fe 1673 1674 #define PCI_DEVICE_ID_RP32INTF 0x0001
-4
include/linux/switchtec.h
··· 19 19 #include <linux/pci.h> 20 20 #include <linux/cdev.h> 21 21 22 - #define MICROSEMI_VENDOR_ID 0x11f8 23 - #define MICROSEMI_NTB_CLASSCODE 0x068000 24 - #define MICROSEMI_MGMT_CLASSCODE 0x058000 25 - 26 22 #define SWITCHTEC_MRPC_PAYLOAD_SIZE 1024 27 23 #define SWITCHTEC_MAX_PFF_CSR 48 28 24