On Tue, May 30, 2017 at 10:01 AM, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote: > Commtech adapters need the MPIOs for internal purposes, and the > gpio-exar driver already refused to pick them up. But there is actually > no point in even creating the underlying platform device. It still feels that partially you may do stuff here, like renaming to __xr17v35x_register_gpio() and creating xr17v35x_register_gpio() wrapper. > diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c > index 081076771217..006a9a67c2a4 100644 > --- a/drivers/gpio/gpio-exar.c > +++ b/drivers/gpio/gpio-exar.c > @@ -124,9 +124,6 @@ static int gpio_exar_probe(struct platform_device *pdev) > void __iomem *p; > int index, ret; > > - if (pcidev->vendor != PCI_VENDOR_ID_EXAR) > - return -ENODEV; > - > /* > * Map the pci device to get the register addresses. > * We will need to read and write those registers to control > diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c > index 8984e8b2d524..c29c7e675890 100644 > --- a/drivers/tty/serial/8250/8250_exar.c > +++ b/drivers/tty/serial/8250/8250_exar.c > @@ -245,7 +245,9 @@ pci_xr17v35x_setup(struct exar8250 *priv, struct pci_dev *pcidev, > /* Setup Multipurpose Input/Output pins. */ > setup_gpio(pcidev, p); > > - port->port.private_data = xr17v35x_register_gpio(pcidev); > + if (pcidev->vendor == PCI_VENDOR_ID_EXAR) > + port->port.private_data = > + xr17v35x_register_gpio(pcidev); > } > > return 0; > -- > 2.12.3 > -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html