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>
This commit is contained in:
parent
ce397d215c
commit
cfdfc14e7f
4 changed files with 10 additions and 12 deletions
|
@ -19,6 +19,7 @@
|
||||||
#include <linux/kthread.h>
|
#include <linux/kthread.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/ntb.h>
|
#include <linux/ntb.h>
|
||||||
|
#include <linux/pci.h>
|
||||||
|
|
||||||
MODULE_DESCRIPTION("Microsemi Switchtec(tm) NTB Driver");
|
MODULE_DESCRIPTION("Microsemi Switchtec(tm) NTB Driver");
|
||||||
MODULE_VERSION("0.1");
|
MODULE_VERSION("0.1");
|
||||||
|
@ -1487,7 +1488,7 @@ static int switchtec_ntb_add(struct device *dev,
|
||||||
|
|
||||||
stdev->sndev = NULL;
|
stdev->sndev = NULL;
|
||||||
|
|
||||||
if (stdev->pdev->class != MICROSEMI_NTB_CLASSCODE)
|
if (stdev->pdev->class != (PCI_CLASS_BRIDGE_OTHER << 8))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
sndev = kzalloc_node(sizeof(*sndev), GFP_KERNEL, dev_to_node(dev));
|
sndev = kzalloc_node(sizeof(*sndev), GFP_KERNEL, dev_to_node(dev));
|
||||||
|
|
|
@ -641,7 +641,7 @@ static int ioctl_event_summary(struct switchtec_dev *stdev,
|
||||||
|
|
||||||
for (i = 0; i < SWITCHTEC_MAX_PFF_CSR; i++) {
|
for (i = 0; i < SWITCHTEC_MAX_PFF_CSR; i++) {
|
||||||
reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id);
|
reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id);
|
||||||
if (reg != MICROSEMI_VENDOR_ID)
|
if (reg != PCI_VENDOR_ID_MICROSEMI)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
reg = ioread32(&stdev->mmio_pff_csr[i].pff_event_summary);
|
reg = ioread32(&stdev->mmio_pff_csr[i].pff_event_summary);
|
||||||
|
@ -1203,7 +1203,7 @@ static void init_pff(struct switchtec_dev *stdev)
|
||||||
|
|
||||||
for (i = 0; i < SWITCHTEC_MAX_PFF_CSR; i++) {
|
for (i = 0; i < SWITCHTEC_MAX_PFF_CSR; i++) {
|
||||||
reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id);
|
reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id);
|
||||||
if (reg != MICROSEMI_VENDOR_ID)
|
if (reg != PCI_VENDOR_ID_MICROSEMI)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1267,7 +1267,7 @@ static int switchtec_pci_probe(struct pci_dev *pdev,
|
||||||
struct switchtec_dev *stdev;
|
struct switchtec_dev *stdev;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
if (pdev->class == MICROSEMI_NTB_CLASSCODE)
|
if (pdev->class == (PCI_CLASS_BRIDGE_OTHER << 8))
|
||||||
request_module_nowait("ntb_hw_switchtec");
|
request_module_nowait("ntb_hw_switchtec");
|
||||||
|
|
||||||
stdev = stdev_create(pdev);
|
stdev = stdev_create(pdev);
|
||||||
|
@ -1321,19 +1321,19 @@ static void switchtec_pci_remove(struct pci_dev *pdev)
|
||||||
|
|
||||||
#define SWITCHTEC_PCI_DEVICE(device_id) \
|
#define SWITCHTEC_PCI_DEVICE(device_id) \
|
||||||
{ \
|
{ \
|
||||||
.vendor = MICROSEMI_VENDOR_ID, \
|
.vendor = PCI_VENDOR_ID_MICROSEMI, \
|
||||||
.device = device_id, \
|
.device = device_id, \
|
||||||
.subvendor = PCI_ANY_ID, \
|
.subvendor = PCI_ANY_ID, \
|
||||||
.subdevice = PCI_ANY_ID, \
|
.subdevice = PCI_ANY_ID, \
|
||||||
.class = MICROSEMI_MGMT_CLASSCODE, \
|
.class = (PCI_CLASS_MEMORY_OTHER << 8), \
|
||||||
.class_mask = 0xFFFFFFFF, \
|
.class_mask = 0xFFFFFFFF, \
|
||||||
}, \
|
}, \
|
||||||
{ \
|
{ \
|
||||||
.vendor = MICROSEMI_VENDOR_ID, \
|
.vendor = PCI_VENDOR_ID_MICROSEMI, \
|
||||||
.device = device_id, \
|
.device = device_id, \
|
||||||
.subvendor = PCI_ANY_ID, \
|
.subvendor = PCI_ANY_ID, \
|
||||||
.subdevice = PCI_ANY_ID, \
|
.subdevice = PCI_ANY_ID, \
|
||||||
.class = MICROSEMI_NTB_CLASSCODE, \
|
.class = (PCI_CLASS_BRIDGE_OTHER << 8), \
|
||||||
.class_mask = 0xFFFFFFFF, \
|
.class_mask = 0xFFFFFFFF, \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1668,6 +1668,7 @@
|
||||||
#define PCI_DEVICE_ID_COMPEX_ENET100VG4 0x0112
|
#define PCI_DEVICE_ID_COMPEX_ENET100VG4 0x0112
|
||||||
|
|
||||||
#define PCI_VENDOR_ID_PMC_Sierra 0x11f8
|
#define PCI_VENDOR_ID_PMC_Sierra 0x11f8
|
||||||
|
#define PCI_VENDOR_ID_MICROSEMI 0x11f8
|
||||||
|
|
||||||
#define PCI_VENDOR_ID_RP 0x11fe
|
#define PCI_VENDOR_ID_RP 0x11fe
|
||||||
#define PCI_DEVICE_ID_RP32INTF 0x0001
|
#define PCI_DEVICE_ID_RP32INTF 0x0001
|
||||||
|
|
|
@ -19,10 +19,6 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/cdev.h>
|
#include <linux/cdev.h>
|
||||||
|
|
||||||
#define MICROSEMI_VENDOR_ID 0x11f8
|
|
||||||
#define MICROSEMI_NTB_CLASSCODE 0x068000
|
|
||||||
#define MICROSEMI_MGMT_CLASSCODE 0x058000
|
|
||||||
|
|
||||||
#define SWITCHTEC_MRPC_PAYLOAD_SIZE 1024
|
#define SWITCHTEC_MRPC_PAYLOAD_SIZE 1024
|
||||||
#define SWITCHTEC_MAX_PFF_CSR 48
|
#define SWITCHTEC_MAX_PFF_CSR 48
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue