On Mon, 16 Oct 2023 at 02:36, Rasmus Villemoes <rasmus.villem...@prevas.dk> wrote: > > When debugging, one sometimes only gets partial output lines or > nothing at all from the last printf, because the uart has a largish > buffer, and the code after the printf() may cause the CPU to hang > before the uart IP has time to actually emit all the characters. That > can be very confusing, because one doesn't then know exactly where the > hang happens. > > Introduce a config knob allowing one to wait for the uart fifo to > drain whenever a newline character is printed, roughly corresponding > to the effect of setvbuf(..., _IOLBF, ...) in ordinary C programs. > > Since this uses IS_ENABLED() instead of cpp ifdef, we can remove the > ifdef around the _serial_flush() definition - if neither > CONSOLE_FLUSH_SUPPORT or CONSOLE_FLUSH_ON_NEWLINE are enabled, the > compiler elides _serial_flush(), but it won't warn about it being > unused. > > Signed-off-by: Rasmus Villemoes <rasmus.villem...@prevas.dk> > --- > common/Kconfig | 10 ++++++++++ > drivers/serial/serial-uclass.c | 8 ++++++-- > 2 files changed, 16 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass <s...@chromium.org>