rawrabbit: allow GENNUM VENDOR/DEVICE ID and CERN VENDOR ID and SPEC DEVICE ID

parent f0337d10
......@@ -57,19 +57,25 @@ irqreturn_t rr_interrupt(int irq, void *devid)
* One device id only is supported.
*/
static struct pci_device_id rr_idtable[2]; /* last must be zero */
static struct pci_device_id rr_idtable[3]; /* last must be zero */
static void rr_fill_table(struct rr_dev *dev)
{
if (dev->devsel->subvendor == RR_DEVSEL_UNUSED) {
dev->id_table->subvendor = PCI_ANY_ID;
dev->id_table->subdevice = PCI_ANY_ID;
dev->id_table[0].subvendor = PCI_ANY_ID;
dev->id_table[0].subdevice = PCI_ANY_ID;
} else {
dev->id_table->subvendor = dev->devsel->subvendor;
dev->id_table->subdevice = dev->devsel->subdevice;
dev->id_table[0].subvendor = dev->devsel->subvendor;
dev->id_table[0].subdevice = dev->devsel->subdevice;
}
dev->id_table->vendor = dev->devsel->vendor;
dev->id_table->device = dev->devsel->device;
dev->id_table[0].vendor = dev->devsel->vendor;
dev->id_table[0].device = dev->devsel->device;
dev->id_table[1].vendor = RR_CERN_VENDOR;
dev->id_table[1].device = RR_CERN_DEVICE;
dev->id_table[1].subvendor = PCI_ANY_ID;
dev->id_table[1].subdevice = PCI_ANY_ID;
}
static int rr_fill_table_and_probe(struct rr_dev *dev)
......
......@@ -49,6 +49,8 @@ struct rr_dev {
/* By default, the driver registers for this vendor/devid */
#define RR_DEFAULT_VENDOR 0x1a39
#define RR_DEFAULT_DEVICE 0x0004
#define RR_CERN_VENDOR 0x10dc
#define RR_CERN_DEVICE 0x018d
#define RR_DEFAULT_BUFSIZE (1<<20) /* 1MB */
#define RR_PLIST_SIZE 4096 /* no PAGE_SIZE in user space */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment