Re: [V2, 2/6] tty: serial: lpuart: add little endian 32 bit register support

From: Dong Aisheng
Date: Wed May 17 2017 - 03:00:22 EST


On Wed, May 17, 2017 at 09:25:51AM +0300, Nikita Yushchenko wrote:
> >> Code should be consistent.
> >>
> >
> > Yes.
> >
> >> There is no good reason to have sport->lpuart32 inside sport, but
> >> lpuart_is_be outside of it. Both these values describe properties of
> >> particular device, and thus should be in per-device structure.
> >>
> >
> > That's for special case, normally we wouldn't do that.
>
> For me this "special case" looks like "let's break data structure
> consistency to reuse several lines of code".
>
> With code snippets you show, it looks even worse: you assign same global
> variable in several places for different uses.

If you mean lpuart_is_be, it's not for different uses.
The purpose is the same to align the correct endian but in two places.

> implicitly assuming that
> it is for same device. Which can be true in your current system, but not
> elsewhere (e.g. why not having lpuart programmed into fpga)?
>

Sorry, What issues for fpga?

> Alternative solution could be - have separate write path for earlycon.

It looks to me having the same issue with a separate write patch
for earlycon as we still need distinguish Little or Big endian
for Layerscape and IMX.

> At a glance, it is dozen lines of code.

Would you please show some sample code?
Then we probably may understand better with each other.

Anyway, thanks for detailed review.

Regards
Dong Aisheng