Re: [PATCH v2] serial: 8250_exar: Move the Exar bits from 8250_port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux