s390 tty: Prepare for put_char to return success/fail
PATCH 1/1 s390 tty: Prepare for put_char to return success/fail
Put the changes into the drivers first. This will still compile/work but produce a warning if bisected so can still be debugged
Signed-off-by Alan Cox <[email protected]>
drivers/s390/char/con3215.c +3 -2
@@ -982,15 +982,16 @@/* * Put character routine for 3215 ttys */ -static void +static int tty3215_put_char (struct tty_struct *tty,unsigned char ch) {struct raw3215_info *raw;if (!tty) -return ; +return 0 ; raw = (struct raw3215_info *) tty->driver_data;raw3215_putchar (raw, ch); +return 1 ; } static void
drivers/s390/char/sclp_tty.c +2 -2
@@ -412,14 +412,14 @@* - including previous characters from sclp_tty_put_char() and strings from * sclp_write() without final '\n' - will be written. */ -static void +static int sclp_tty_put_char (struct tty_struct *tty,unsigned char ch) { sclp_tty_chars[sclp_tty_chars_count++] = ch;if (ch =='\n' || sclp_tty_chars_count >=SCLP_TTY_BUF_SIZE ) {sclp_tty_write_string (sclp_tty_chars, sclp_tty_chars_count); sclp_tty_chars_count =0 ; - } + }return 1 ; }/*
drivers/s390/char/sclp_vt220.c +5 -1
@@ -524,11 +524,15 @@* NOTE: include/linux/tty_driver.h specifies that a character should be * ignored if there is no room in the queue. This driver implements a different * semantic in that it will block when there is no more room left. +* +* FIXME: putchar can currently be called from BH and other non blocking +* handlers so this semantic isn't a good idea. */ -static void +static int sclp_vt220_put_char (struct tty_struct *tty,unsigned char ch) {__sclp_vt220_write (&ch,1 ,0 ,0 ,1 ); +return 1 ; }/*
drivers/s390/char/tty3270.c +2 -1
@@ -965,7 +965,7 @@* Insert character into the screen at the current position with the * current color and highlight. This function does NOT do cursor movement. */ -static void +static int tty3270_put_character (struct tty3270 *tp,char ch) {struct tty3270_line *line;
@@ -986,6 +986,7 @@ cell->character = tp->view.ascebc[(unsigned int ) ch]; cell->highlight = tp->highlight; cell->f_color = tp->f_color; +return 1 ; }/*