This fixes the earlies debug prints on the Qualcomm platform and possibly others. The root cause that the "Uncompressing Linux..." and other super-early debug prints were not working was that the Qualcomm UART has some elaborate TX ready code in waituart (after this waituarttxrdy) that was not called. waituart would sometimes check for CTS (clear to send) which would make the kernel unstable on these platforms if we introduce more users of that macro without thinking twice. To fix this properly I first split the CTS check into its own function and make it clear when we do or do not check for CTS. I then convert the flow control option for 8250 to a generic flow control option so that other debug UART drivers can look for CTS to be asserted if they support it. Linus Walleij (3): ARM: debug: Split waituart to CTS and TXRDY ARM: debug: Select flow control for all debug UARTs ARM: uncompress: Wait for ready and busy in debug prints arch/arm/Kconfig.debug | 16 +++++++++++----- arch/arm/boot/compressed/debug.S | 5 ++++- arch/arm/boot/compressed/head.S | 15 ++++++++++----- arch/arm/include/debug/8250.S | 7 ++++--- arch/arm/include/debug/asm9260.S | 5 ++++- arch/arm/include/debug/at91.S | 5 ++++- arch/arm/include/debug/bcm63xx.S | 5 ++++- arch/arm/include/debug/brcmstb.S | 5 ++++- arch/arm/include/debug/clps711x.S | 5 ++++- arch/arm/include/debug/dc21285.S | 5 ++++- arch/arm/include/debug/digicolor.S | 5 ++++- arch/arm/include/debug/efm32.S | 5 ++++- arch/arm/include/debug/icedcc.S | 15 ++++++++++++--- arch/arm/include/debug/imx.S | 5 ++++- arch/arm/include/debug/meson.S | 5 ++++- arch/arm/include/debug/msm.S | 5 ++++- arch/arm/include/debug/omap2plus.S | 5 ++++- arch/arm/include/debug/pl01x.S | 5 ++++- arch/arm/include/debug/renesas-scif.S | 5 ++++- arch/arm/include/debug/sa1100.S | 5 ++++- arch/arm/include/debug/samsung.S | 5 ++++- arch/arm/include/debug/sirf.S | 5 ++++- arch/arm/include/debug/sti.S | 5 ++++- arch/arm/include/debug/stm32.S | 5 ++++- arch/arm/include/debug/tegra.S | 7 ++++--- arch/arm/include/debug/vf.S | 5 ++++- arch/arm/include/debug/vt8500.S | 5 ++++- arch/arm/include/debug/zynq.S | 5 ++++- arch/arm/kernel/debug.S | 11 +++++++++-- 29 files changed, 142 insertions(+), 44 deletions(-) -- 2.26.2