Loading arch/v850/kernel/simcons.c +10 −15 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ late_initcall(simcons_tty_init); tty driver. */ void simcons_poll_tty (struct tty_struct *tty) { char buf[32]; /* Not the nicest way to do it but I need it correct first */ int flip = 0, send_break = 0; struct pollfd pfd; pfd.fd = 0; Loading @@ -124,21 +125,15 @@ void simcons_poll_tty (struct tty_struct *tty) if (V850_SIM_SYSCALL (poll, &pfd, 1, 0) > 0) { if (pfd.revents & POLLIN) { int left = TTY_FLIPBUF_SIZE - tty->flip.count; if (left > 0) { unsigned char *buf = tty->flip.char_buf_ptr; int rd = V850_SIM_SYSCALL (read, 0, buf, left); /* Real block hardware knows the transfer size before transfer so the new tty buffering doesn't try to handle this rather weird simulator specific case well */ int rd = V850_SIM_SYSCALL (read, 0, buf, 32); if (rd > 0) { tty->flip.count += rd; tty->flip.char_buf_ptr += rd; memset (tty->flip.flag_buf_ptr, 0, rd); tty->flip.flag_buf_ptr += rd; tty_insert_flip_string(tty, buf, rd); flip = 1; } else send_break = 1; } } else if (pfd.revents & POLLERR) send_break = 1; } Loading arch/xtensa/platform-iss/console.c +1 −3 Original line number Diff line number Diff line Loading @@ -128,9 +128,7 @@ static void rs_poll(unsigned long priv) while (__simc(SYS_select_one, 0, XTISS_SELECT_ONE_READ, (int)&tv,0,0)){ __simc (SYS_read, 0, (unsigned long)&c, 1, 0, 0); tty->flip.count++; *tty->flip.char_buf_ptr++ = c; *tty->flip.flag_buf_ptr++ = TTY_NORMAL; tty_insert_flip_char(tty, c, TTY_NORMAL); i++; } Loading drivers/serial/mcfserial.c +1 −2 Original line number Diff line number Diff line Loading @@ -350,8 +350,7 @@ static inline void receive_chars(struct mcf_serial *info) } tty_insert_flip_char(tty, ch, flag); } schedule_work(&tty->flip.work); tty_flip_buffer_push(tty); return; } Loading Loading
arch/v850/kernel/simcons.c +10 −15 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ late_initcall(simcons_tty_init); tty driver. */ void simcons_poll_tty (struct tty_struct *tty) { char buf[32]; /* Not the nicest way to do it but I need it correct first */ int flip = 0, send_break = 0; struct pollfd pfd; pfd.fd = 0; Loading @@ -124,21 +125,15 @@ void simcons_poll_tty (struct tty_struct *tty) if (V850_SIM_SYSCALL (poll, &pfd, 1, 0) > 0) { if (pfd.revents & POLLIN) { int left = TTY_FLIPBUF_SIZE - tty->flip.count; if (left > 0) { unsigned char *buf = tty->flip.char_buf_ptr; int rd = V850_SIM_SYSCALL (read, 0, buf, left); /* Real block hardware knows the transfer size before transfer so the new tty buffering doesn't try to handle this rather weird simulator specific case well */ int rd = V850_SIM_SYSCALL (read, 0, buf, 32); if (rd > 0) { tty->flip.count += rd; tty->flip.char_buf_ptr += rd; memset (tty->flip.flag_buf_ptr, 0, rd); tty->flip.flag_buf_ptr += rd; tty_insert_flip_string(tty, buf, rd); flip = 1; } else send_break = 1; } } else if (pfd.revents & POLLERR) send_break = 1; } Loading
arch/xtensa/platform-iss/console.c +1 −3 Original line number Diff line number Diff line Loading @@ -128,9 +128,7 @@ static void rs_poll(unsigned long priv) while (__simc(SYS_select_one, 0, XTISS_SELECT_ONE_READ, (int)&tv,0,0)){ __simc (SYS_read, 0, (unsigned long)&c, 1, 0, 0); tty->flip.count++; *tty->flip.char_buf_ptr++ = c; *tty->flip.flag_buf_ptr++ = TTY_NORMAL; tty_insert_flip_char(tty, c, TTY_NORMAL); i++; } Loading
drivers/serial/mcfserial.c +1 −2 Original line number Diff line number Diff line Loading @@ -350,8 +350,7 @@ static inline void receive_chars(struct mcf_serial *info) } tty_insert_flip_char(tty, ch, flag); } schedule_work(&tty->flip.work); tty_flip_buffer_push(tty); return; } Loading