serial_core: support native endianness
authorMax Filippov <jcmvbkbc@gmail.com>
Tue, 22 Sep 2015 12:20:32 +0000 (15:20 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Oct 2015 18:11:05 +0000 (19:11 +0100)
commitd215d80957ce98c318064c249ad0b7800c63a19d
treeda8d0de101959f318a438d9e4924c39b4c6ffbd0
parent616ea8d2d644b93ec634a3cb97e04f1ec3b0a491
serial_core: support native endianness

There are three natural ways in which devices may be wired to the system:
little endian (device receives correctly ordered bits of a word written
by little-endian CPU to its register, but big-endian CPU needs to swap
bytes of a word before writing it), big endian (same, but with big-endian
CPU in more favourable position) and native endian (CPU of either
endianness may do word-sized I/O without need for byteswapping).

Adding an option for native endianness allows using single kernel command
line for boards with native-endian serial ports on bi-endian
architectures. This goes in parallel with 'native-endian' DTS attribute.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/serial_core.c