> Maybe use PCI_VENDOR_ID_LENOVO and move the check first - it is cheaper > than string comparison. In general, symbolic constants are preferred to > magic numbers. That makes sense! Will do. > Actually, do we really need to check DMI given the checks below? I was advised by Rajat Jain to check DMI. This is the reasoning he gave me: "I'm not certain if you can use subsystem vendor alone because, subsystem vendor & ID are defined by the PCI device vendor I think (Intel here). What if Intel sold the same bridges to another company and has the same subsystem vendor / ID." To me it seems like each company in practice has a different subsystem ID, but I don't know enough to confirm this 100%. If you are confident that the subsystem IDs are sufficient, let me know and I'm happy to switch them. I'd appreciate some more insight on this before I remove the DMI checks! > > > + > > + /* Not all 0x15d3 components are external facing */ > > + if (dev->device == 0x15d3 && > > Again, maybe PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_BRIDGE? Oh! I missed that. Will use, thanks!