powerpc: Cleanup udbg_16550 and add support for LPC PIO-only UARTs
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 15 Jul 2013 03:03:12 +0000 (13:03 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 14 Aug 2013 04:58:15 +0000 (14:58 +1000)
commit309257484cc1a592e8ac5fbdd8cd661be2b80bf8
treedf500d08cef6def1e1a2f6ef51e6e91c563c2c08
parent3fafe9c202321a3edc47386d2071af89555c9f45
powerpc: Cleanup udbg_16550 and add support for LPC PIO-only UARTs

The udbg_16550 code, which we use for our early consoles and debug
backends was fairly messy. Especially for the debug consoles, it
would re-implement the "high level" getc/putc/poll functions for
each access method. It also had code to configure the UART but only
for the straight MMIO method.

This changes it to instead abstract at the register accessor level,
and have the various functions and configuration routines use these.

The result is simpler and slightly smaller code, and free support
for non-MMIO mapped PIO UARTs, which such as the ones that can be
present on a POWER 8 LPC bus.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/udbg.h
arch/powerpc/kernel/legacy_serial.c
arch/powerpc/kernel/udbg_16550.c