On Thu, May 02, 2024 at 11:13:14AM -0400, Parker Newman wrote: > On Thu, 2 May 2024 17:43:57 +0300 > Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > The CTI_PCI_DEVICE() duplicates EXAR_DEVICE(). Kill the former. ... > > -// For Connect Tech cards with Connect Tech vendor/device PCI IDs (FPGA based) > > -#define CTI_PCI_DEVICE(devid, bd) { \ > > - PCI_DEVICE_SUB( \ > > - PCI_VENDOR_ID_CONNECT_TECH, \ > > - PCI_DEVICE_ID_CONNECT_TECH_PCI_##devid, \ #define PCI_DEVICE_SUB(vend, dev, subvend, subdev) \ .vendor = (vend), .device = (dev), \ .subvendor = (subvend), .subdevice = (subdev) #define PCI_DEVICE_DATA(vend, dev, data) \ .vendor = PCI_VENDOR_ID_##vend, .device = PCI_DEVICE_ID_##vend##_##dev, \ .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, 0, 0, \ .driver_data = (kernel_ulong_t)(data) > > - PCI_ANY_ID, \ > > - PCI_ANY_ID), 0, 0, \ > > - (kernel_ulong_t)&bd \ > > - } > > - > > #define EXAR_DEVICE(vend, devid, bd) { PCI_DEVICE_DATA(vend, devid, &bd) } > This is not correct. The CTI_PCI_DEVICE() macro is for cards that have the > Connect Tech PCI Vendor ID (not Sub-Vendor ID). EXAR_DEVICE() is for cards with > Exar PCI Vendor ID. Above I added current code of these macros, can you elaborate how it's incorrect? -- With Best Regards, Andy Shevchenko