On Wed, Jun 26, 2013 at 11:15 AM, Darren Hart <dvhart@xxxxxxxxxxxxxxx> wrote: > On Wed, 2013-06-26 at 10:32 -0600, Bjorn Helgaas wrote: >> +#define PCI_VENDOR_ID_CIRCUITCO 0x1cc8 >> + >> #define PCI_VENDOR_ID_TEKRAM 0x1de1 >> #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 > > > Thanks Bjorn. When I reuse this Subsystem ID and there is more than one > usage, I should send a patch to pci_ids.h adding it and replace the hex > value in all drivers with the new define. Is that right? Yeah, that's what I was thinking. But Peter's comment makes more sense to me now. The spec refers to that config register as "Subsystem ID," not "Subsystem Device ID," but I was confused because most existing usage treats it as a device ID. For example, the field in struct pci_device_id is named "subdevice," and all the existing #defines in pci_ids.h are of the form PCI_SUBDEVICE_ID_*. Device IDs are pretty specific identifiers, so I was thinking that a "sub-device ID" would be even more specific. Then it would make no sense to have a "sub-device ID" that was as generic as "MINNOWBOARD." But the register is actually *not* a "sub-device ID," and I can see that using the same Subsystem ID for all the devices on a board might make sense. So I think the name PCI_DEVICE_ID_CIRCUITCO_MINNOWBOARD is a bit of a misnomer, and something like PCI_SUBSYSTEM_CIRCUITCO_MINNOWBOARD would make it more clear that it really isn't sharing the device ID space assigned to CircuitCo. It would make perfect sense to have a Device ID, e.g., "PCI_DEVICE_ID_CIRCUIT_CO_xxx 0x0001," that has nothing to do with the Subsystem ID 0x0001. If you want to do something like that (or even keep your original patch), I can put that in my -next branch. Just let me know. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html