diff options
author | Jiri Slaby <jslaby@suse.cz> | 2013-01-03 09:53:07 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-16 01:43:15 -0500 |
commit | 6732c8bb8671acbdac6cdc93dd72ddd581dd5e25 (patch) | |
tree | 6c70977ee03cddd4211b8f775c331b41532ed5da /drivers/tty/vt | |
parent | 2e124b4a390ca85325fae75764bef92f0547fa25 (diff) |
TTY: switch tty_schedule_flip
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty in many
call sites. Only tty_port will needed and hence no more
tty_port_tty_get in those paths.
This is the last one: tty_schedule_flip
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/vt')
-rw-r--r-- | drivers/tty/vt/keyboard.c | 19 | ||||
-rw-r--r-- | drivers/tty/vt/vt.c | 16 |
2 files changed, 11 insertions, 24 deletions
diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c index 5aace4d47cb6..a9af1b9ae160 100644 --- a/drivers/tty/vt/keyboard.c +++ b/drivers/tty/vt/keyboard.c | |||
@@ -307,26 +307,17 @@ int kbd_rate(struct kbd_repeat *rep) | |||
307 | */ | 307 | */ |
308 | static void put_queue(struct vc_data *vc, int ch) | 308 | static void put_queue(struct vc_data *vc, int ch) |
309 | { | 309 | { |
310 | struct tty_struct *tty = vc->port.tty; | ||
311 | |||
312 | tty_insert_flip_char(&vc->port, ch, 0); | 310 | tty_insert_flip_char(&vc->port, ch, 0); |
313 | if (tty) { | 311 | tty_schedule_flip(&vc->port); |
314 | tty_schedule_flip(tty); | ||
315 | } | ||
316 | } | 312 | } |
317 | 313 | ||
318 | static void puts_queue(struct vc_data *vc, char *cp) | 314 | static void puts_queue(struct vc_data *vc, char *cp) |
319 | { | 315 | { |
320 | struct tty_struct *tty = vc->port.tty; | ||
321 | |||
322 | if (!tty) | ||
323 | return; | ||
324 | |||
325 | while (*cp) { | 316 | while (*cp) { |
326 | tty_insert_flip_char(&vc->port, *cp, 0); | 317 | tty_insert_flip_char(&vc->port, *cp, 0); |
327 | cp++; | 318 | cp++; |
328 | } | 319 | } |
329 | tty_schedule_flip(tty); | 320 | tty_schedule_flip(&vc->port); |
330 | } | 321 | } |
331 | 322 | ||
332 | static void applkey(struct vc_data *vc, int key, char mode) | 323 | static void applkey(struct vc_data *vc, int key, char mode) |
@@ -582,12 +573,8 @@ static void fn_inc_console(struct vc_data *vc) | |||
582 | 573 | ||
583 | static void fn_send_intr(struct vc_data *vc) | 574 | static void fn_send_intr(struct vc_data *vc) |
584 | { | 575 | { |
585 | struct tty_struct *tty = vc->port.tty; | ||
586 | |||
587 | if (!tty) | ||
588 | return; | ||
589 | tty_insert_flip_char(&vc->port, 0, TTY_BREAK); | 576 | tty_insert_flip_char(&vc->port, 0, TTY_BREAK); |
590 | tty_schedule_flip(tty); | 577 | tty_schedule_flip(&vc->port); |
591 | } | 578 | } |
592 | 579 | ||
593 | static void fn_scroll_forw(struct vc_data *vc) | 580 | static void fn_scroll_forw(struct vc_data *vc) |
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index 811f2505e9ee..1a2728034599 100644 --- a/drivers/tty/vt/vt.c +++ b/drivers/tty/vt/vt.c | |||
@@ -1333,13 +1333,13 @@ static void csi_m(struct vc_data *vc) | |||
1333 | update_attr(vc); | 1333 | update_attr(vc); |
1334 | } | 1334 | } |
1335 | 1335 | ||
1336 | static void respond_string(const char *p, struct tty_struct *tty) | 1336 | static void respond_string(const char *p, struct tty_port *port) |
1337 | { | 1337 | { |
1338 | while (*p) { | 1338 | while (*p) { |
1339 | tty_insert_flip_char(tty->port, *p, 0); | 1339 | tty_insert_flip_char(port, *p, 0); |
1340 | p++; | 1340 | p++; |
1341 | } | 1341 | } |
1342 | tty_schedule_flip(tty); | 1342 | tty_schedule_flip(port); |
1343 | } | 1343 | } |
1344 | 1344 | ||
1345 | static void cursor_report(struct vc_data *vc, struct tty_struct *tty) | 1345 | static void cursor_report(struct vc_data *vc, struct tty_struct *tty) |
@@ -1347,17 +1347,17 @@ static void cursor_report(struct vc_data *vc, struct tty_struct *tty) | |||
1347 | char buf[40]; | 1347 | char buf[40]; |
1348 | 1348 | ||
1349 | sprintf(buf, "\033[%d;%dR", vc->vc_y + (vc->vc_decom ? vc->vc_top + 1 : 1), vc->vc_x + 1); | 1349 | sprintf(buf, "\033[%d;%dR", vc->vc_y + (vc->vc_decom ? vc->vc_top + 1 : 1), vc->vc_x + 1); |
1350 | respond_string(buf, tty); | 1350 | respond_string(buf, tty->port); |
1351 | } | 1351 | } |
1352 | 1352 | ||
1353 | static inline void status_report(struct tty_struct *tty) | 1353 | static inline void status_report(struct tty_struct *tty) |
1354 | { | 1354 | { |
1355 | respond_string("\033[0n", tty); /* Terminal ok */ | 1355 | respond_string("\033[0n", tty->port); /* Terminal ok */ |
1356 | } | 1356 | } |
1357 | 1357 | ||
1358 | static inline void respond_ID(struct tty_struct * tty) | 1358 | static inline void respond_ID(struct tty_struct *tty) |
1359 | { | 1359 | { |
1360 | respond_string(VT102ID, tty); | 1360 | respond_string(VT102ID, tty->port); |
1361 | } | 1361 | } |
1362 | 1362 | ||
1363 | void mouse_report(struct tty_struct *tty, int butt, int mrx, int mry) | 1363 | void mouse_report(struct tty_struct *tty, int butt, int mrx, int mry) |
@@ -1366,7 +1366,7 @@ void mouse_report(struct tty_struct *tty, int butt, int mrx, int mry) | |||
1366 | 1366 | ||
1367 | sprintf(buf, "\033[M%c%c%c", (char)(' ' + butt), (char)('!' + mrx), | 1367 | sprintf(buf, "\033[M%c%c%c", (char)(' ' + butt), (char)('!' + mrx), |
1368 | (char)('!' + mry)); | 1368 | (char)('!' + mry)); |
1369 | respond_string(buf, tty); | 1369 | respond_string(buf, tty->port); |
1370 | } | 1370 | } |
1371 | 1371 | ||
1372 | /* invoked via ioctl(TIOCLINUX) and through set_selection */ | 1372 | /* invoked via ioctl(TIOCLINUX) and through set_selection */ |