summaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2021-12-10 12:06:04 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-12-13 23:37:32 +0100
commit7b0122a63c23a3e763cae618dd2a02f8ea813374 (patch)
treec15437411d7544793f3d3010ba2a89efd2d8051e /drivers/serial
parent8891e8157c773c7f54afd828f3ab78b2b898256a (diff)
downloadbarebox-7b0122a63c23a3e763cae618dd2a02f8ea813374.tar.gz
barebox-7b0122a63c23a3e763cae618dd2a02f8ea813374.tar.xz
efi-stdio: Implement efi_console_putc() using efi_console_puts()
The current efi_console_putc() implementation bypasses the special character handling. Fix that by using efi_console_puts() for the implemenation of efi_console_putc(). Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/efi-stdio.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/serial/efi-stdio.c b/drivers/serial/efi-stdio.c
index c5258e3f65..39e42fa4b7 100644
--- a/drivers/serial/efi-stdio.c
+++ b/drivers/serial/efi-stdio.c
@@ -119,17 +119,6 @@ static int efi_read_key(struct efi_console_priv *priv, bool wait)
return xlate_keypress(&kd.key);
}
-static void efi_console_putc(struct console_device *cdev, char c)
-{
- uint16_t str[2] = {};
- struct efi_console_priv *priv = to_efi(cdev);
- struct efi_simple_text_output_protocol *con_out = priv->out;
-
- str[0] = c;
-
- con_out->output_string(con_out, str);
-}
-
static void clear_to_eol(struct efi_console_priv *priv)
{
int pos = priv->out->mode->cursor_column;
@@ -311,6 +300,11 @@ static int efi_console_puts(struct console_device *cdev, const char *s,
return nbytes;
}
+static void efi_console_putc(struct console_device *cdev, char c)
+{
+ efi_console_puts(cdev, &c, 1);
+}
+
static int efi_console_tstc(struct console_device *cdev)
{
struct efi_console_priv *priv = to_efi(cdev);