Re: [Patch] UML: Fix inconsistence due to tty_operation change

From: Adrian Bunk
Date: Fri May 02 2008 - 05:32:54 EST


[ Alan as tty maintainer added to Cc ]

On Fri, May 02, 2008 at 02:59:46PM +0800, WANG Cong wrote:
>
> 'put_char' of 'struct tty_operations' has changed from 'void' into 'int'.
> This can also shut up comipler warnings.

Not only, this could also be a runtime error.

> Cc: Jeff Dike <jdike@xxxxxxxxxxx>
> Signed-off-by: WANG Cong <wangcong@xxxxxxxxx>
>
> ---
>
> diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
> index 10b86e1..5047490 100644
> --- a/arch/um/drivers/line.c
> +++ b/arch/um/drivers/line.c
> @@ -191,9 +191,9 @@ void line_flush_chars(struct tty_struct *tty)
> line_flush_buffer(tty);
> }
>
> -void line_put_char(struct tty_struct *tty, unsigned char ch)
> +int line_put_char(struct tty_struct *tty, unsigned char ch)
> {
> - line_write(tty, &ch, sizeof(ch));
> + return line_write(tty, &ch, sizeof(ch));
> }
>
> int line_write(struct tty_struct *tty, const unsigned char *buf, int len)
> diff --git a/arch/um/include/line.h b/arch/um/include/line.h
> index 1223f2c..979b73e 100644
> --- a/arch/um/include/line.h
> +++ b/arch/um/include/line.h
> @@ -71,7 +71,7 @@ extern int line_setup(struct line *lines, unsigned int sizeof_lines,
> char *init, char **error_out);
> extern int line_write(struct tty_struct *tty, const unsigned char *buf,
> int len);
> -extern void line_put_char(struct tty_struct *tty, unsigned char ch);
> +extern int line_put_char(struct tty_struct *tty, unsigned char ch);
> extern void line_set_termios(struct tty_struct *tty, struct ktermios * old);
> extern int line_chars_in_buffer(struct tty_struct *tty);
> extern void line_flush_buffer(struct tty_struct *tty);

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/