Re: [PATCH v1 03/13] serial: 8250_exar: Kill CTI_PCI_DEVICE()

From: Parker Newman
Date: Thu May 02 2024 - 11:36:28 EST


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