[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