From: Alan Cox Signed-off-by: Alan Cox Cc: Greg Ungerer Signed-off-by: Andrew Morton --- drivers/serial/68328serial.c | 3 ++- drivers/serial/68360serial.c | 5 +++-- drivers/serial/mcfserial.c | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff -puN drivers/serial/68328serial.c~serial-m68k-put_char-returns drivers/serial/68328serial.c --- a/drivers/serial/68328serial.c~serial-m68k-put_char-returns +++ a/drivers/serial/68328serial.c @@ -200,7 +200,7 @@ static void rs_stop(struct tty_struct *t local_irq_restore(flags); } -static void rs_put_char(char ch) +static int rs_put_char(char ch) { int flags, loops = 0; @@ -214,6 +214,7 @@ static void rs_put_char(char ch) UTX_TXDATA = ch; udelay(5); local_irq_restore(flags); + return 1; } static void rs_start(struct tty_struct *tty) diff -puN drivers/serial/68360serial.c~serial-m68k-put_char-returns drivers/serial/68360serial.c --- a/drivers/serial/68360serial.c~serial-m68k-put_char-returns +++ a/drivers/serial/68360serial.c @@ -994,10 +994,10 @@ static void rs_360_put_char(struct tty_s volatile QUICC_BD *bdp; if (serial_paranoia_check(info, tty->name, "rs_put_char")) - return; + return 0; if (!tty) - return; + return 0; bdp = info->tx_cur; while (bdp->status & BD_SC_READY); @@ -1015,6 +1015,7 @@ static void rs_360_put_char(struct tty_s bdp++; info->tx_cur = (QUICC_BD *)bdp; + return 1; } diff -puN drivers/serial/mcfserial.c~serial-m68k-put_char-returns drivers/serial/mcfserial.c --- a/drivers/serial/mcfserial.c~serial-m68k-put_char-returns +++ a/drivers/serial/mcfserial.c @@ -1898,7 +1898,7 @@ static struct tty_driver *mcfrs_console_ * This is used for console output. */ -void mcfrs_put_char(char ch) +int mcfrs_put_char(char ch) { volatile unsigned char *uartp; unsigned long flags; @@ -1922,7 +1922,7 @@ void mcfrs_put_char(char ch) mcfrs_init_console(); /* try and get it back */ local_irq_restore(flags); - return; + return 1; } _