Hi, On 13.12.21 22:08, Sascha Hauer wrote: > 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(). Not saying that it matters much in practice, but this breaks xmodem, doesn't it? > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > --- > drivers/serial/efi-stdio.c | 16 +++++----------- > 1 file changed, 5 insertions(+), 11 deletions(-) > > diff --git a/drivers/serial/efi-stdio.c b/drivers/serial/efi-stdio.c > index d99eca9d5e..d512cc3e01 100644 > --- a/drivers/serial/efi-stdio.c > +++ b/drivers/serial/efi-stdio.c > @@ -160,17 +160,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; > @@ -352,6 +341,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); > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox