[V2, 2/6] tty: serial: lpuart: add little endian 32 bit register support
From: Dong Aisheng <hidden>
Date: 2017-05-17 07:00:20
Also in:
linux-serial, lkml
On Wed, May 17, 2017 at 09:25:51AM +0300, Nikita Yushchenko wrote:
quoted
quoted
Code should be consistent.Yes.quoted
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