kdb: Remove special case logic from kdb_read()
authorDaniel Thompson <daniel.thompson@linaro.org>
Fri, 25 Oct 2019 07:33:26 +0000 (08:33 +0100)
committerDaniel Thompson <daniel.thompson@linaro.org>
Mon, 28 Oct 2019 12:07:57 +0000 (12:07 +0000)
commit4f27e824bf83dfc2f6dc1a54fae419be7cd335af
treead3f49c857d6cfe483e4a3dbc18afcf8a604f9a7
parentd04213af90935d8b247c1327c9ea142fc037165f
kdb: Remove special case logic from kdb_read()

kdb_read() contains special case logic to force it exit after reading
a single character. We can remove all the special case logic by directly
calling the function to read a single character instead. This also
allows us to tidy up the function prototype which, because it now matches
getchar(), we can also rename in order to make its role clearer.

This does involve some extra code to handle btaprompt properly but we
don't mind the new lines of code here because the old code had some
interesting problems (bad newline handling, treating unexpected
characters like <cr>).

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20191025073328.643-4-daniel.thompson@linaro.org
kernel/debug/kdb/kdb_bt.c
kernel/debug/kdb/kdb_io.c
kernel/debug/kdb/kdb_private.h