On Thu, 2 May 2024 18:29:05 +0300 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > 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? > Sorry, you are correct. I was mixed up. Thanks, Parker