[PATCH] tty/serial: atmel: use proper accessors

Alexandre Belloni alexandre.belloni at free-electrons.com
Mon Jul 20 13:02:49 PDT 2015


Hi,

(adding Hans in Cc)

On 20/07/2015 at 15:05:39 -0400, Peter Hurley wrote :
> Hi Alexandre,
> 
> On 07/20/2015 09:56 AM, Alexandre Belloni wrote:
> > On ARM, it is necessary to use the _relaxed versions of read[bl] and
> > write[bl] to ensure we do the correct endianness conversion when running in
> > big endian.
> > Keep using avr32 __raw version on avr32 to avoid breakage.
> > 
> > Signed-off-by: Alexandre Belloni <alexandre.belloni at free-electrons.com>
> > ---
> > 
> > This patch applies after [PATCH v4 0/5] tty/serial: at91: add support to FIFOs
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/353704.html
> > 
> >  drivers/tty/serial/atmel_serial.c | 22 ++++++++++++++++++++++
> >  1 file changed, 22 insertions(+)
> > 
> > diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
> > index e91b3b2f0590..451acf054281 100644
> > --- a/drivers/tty/serial/atmel_serial.c
> > +++ b/drivers/tty/serial/atmel_serial.c
> > @@ -194,6 +194,7 @@ to_atmel_uart_port(struct uart_port *uart)
> >  	return container_of(uart, struct atmel_uart_port, uart);
> >  }
> >  
> > +#ifdef CONFIG_AVR32
> 
> The whole point of i/o accessors is to encapsulate arch-specific
> differences, so one of these arches isn't doing it right, or the wrong
> i/o accessors are being used.
> 

I'm not an avr32 specialist but I think __raw accessors are doing big
endian accesses but _relaxed accessors are doing litlle endian accesses.

Maybe Hans can clarify what's needed here.

-- 
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the linux-arm-kernel mailing list