diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2021-12-10 12:06:04 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-12-13 23:37:32 +0100 |
commit | 7b0122a63c23a3e763cae618dd2a02f8ea813374 (patch) | |
tree | c15437411d7544793f3d3010ba2a89efd2d8051e /drivers/serial | |
parent | 8891e8157c773c7f54afd828f3ab78b2b898256a (diff) | |
download | barebox-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.c | 16 |
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); |