Re: [RFC, wip][PATCH v1] serial: 8250_exar: Move the Exar bits from 8250_port

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

 



On Sat, 2017-04-29 at 08:36 +0200, Jan Kiszka wrote:
> On 2017-04-24 19:29, Andy Shevchenko wrote:
> > 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.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> > ---
> >  Just compile tested. I have no hardware to test this approach. It
> > would
> >  be nice if you guys (Jan, Sudip) can take it and continue on real
> >  hardware. Why am I interested in this? It would make my life
> > slightly
> >  easier for runtime PM support developing for 8250.
> > 
> >  TODO:
> >   - move get_divisor() / set_divisor() quirks as well
> >   - perhaps move startup() / shutdown() either
> >   - patch can be split a bit since there is at least one useless
> > check
> >     in exar_handle_irq() for port type (this might be separate clean
> > up)
> > 
> >  I would be pleased if this just works after being applied.
> > 
> >  drivers/tty/serial/8250/8250_exar.c | 57
> > ++++++++++++++++++++++++++++-
> >  drivers/tty/serial/8250/8250_port.c | 73 --------------------------
> > -----------
> >  2 files changed, 56 insertions(+), 74 deletions(-)
> > 
> 
> ...
> 
> > @@ -684,18 +681,6 @@ EXPORT_SYMBOL_GPL(serial8250_rpm_put_tx);
> >  static void serial8250_set_sleep(struct uart_8250_port *p, int
> > sleep)
> >  {
> >  	unsigned char lcr = 0, efr = 0;
> > -	/*
> > -	 * Exar UARTs have a SLEEP register that enables or
> > disables
> > -	 * each UART to enter sleep mode separately.  On the
> > XR17V35x the
> > -	 * register is accessible to each UART at the
> > UART_EXAR_SLEEP
> > -	 * offset but the UART channel may only write to the
> > corresponding
> > -	 * bit.
> > -	 */
> > -	if ((p->port.type == PORT_XR17V35X) ||
> > -	   (p->port.type == PORT_XR17D15X)) {
> > -		serial_out(p, UART_EXAR_SLEEP, sleep ? 0xff : 0);
> > -		return;
> > -	}
> >  
> >  	if (p->capabilities & UART_CAP_SLEEP) {
> >  		if (p->capabilities & UART_CAP_EFR) {
> 
> Which patch(es) does this depend on? The hunk above is different in
> Linus' tree and also tty.git.

It's in my bitbucket tree which has linux-next as a base.

http://bitbucket.org/andy-shev/linux/branch/topic%2Fuart%2frpm


-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
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



[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