On Fri, Jul 19, 2019 at 02:36:08PM -0500, Aaron Sierra wrote: > ----- Original Message ----- > > From: "Andy Shevchenko" <andriy.shevchenko@xxxxxxxxxxxxxxx> > > Sent: Friday, July 19, 2019 9:30:52 AM > > > There are Exar quirks in 8250_port which belong to 8250_exar module. > > Move them to the correct module and do not contaminate generic code > > with it. > > > > Cc: Aaron Sierra <asierra@xxxxxxxxxxx> > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > --- > > in v2: > > - rebase on top of latest vanilla / serial-next > > - move divisor callbacks > > - drop RFC > > - compile tested only on my side, please, who has a hardware, test it > > Andy, > > I'll do some testing on v3 of this patch :P See explanation below. Thanks, v3 is on its way! > > +/* > > + * These Exar UARTs have an extra interrupt indicator that could > > + * fire for a few unimplemented interrupts. One of which is a > > + * wakeup event when coming out of sleep. Put this here just > > + * to be on the safe side that these interrupts don't go unhandled. > > + */ > > +static int exar_handle_irq(struct uart_port *port) > > +{ > > + unsigned int iir = serial_port_in(port, UART_IIR); > > + int ret = 0; > > + > > + if (serial_port_in(port, UART_EXAR_INT0) != 0) > > + ret = 1; > > + > > + ret |= serial8250_handle_irq(port, iir); > > + > > + return ret; > > +} > > This seems to (accidentally) reintroduce the per-port INT0 clearing that was > eliminated in c7e1b4059075 (tty: serial: exar: Relocate sleep wake-up handling) > and further polished in 60ab0fafc4b6 (serial: 8250_exar: Read INT0 from slave device, too) Oh, what a nice catch! I forgot about the changes which you did and I reviewed :-) -- With Best Regards, Andy Shevchenko