pty: simplify resize
We have special case logic for resizing pty/tty pairs. We also have a per driver resize method so for the pty case we should use it. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
@ -819,8 +819,8 @@ static inline int resize_screen(struct vc_data *vc, int width, int height,
|
||||
* ctrl_lock of the tty IFF a tty is passed.
|
||||
*/
|
||||
|
||||
static int vc_do_resize(struct tty_struct *tty, struct tty_struct *real_tty,
|
||||
struct vc_data *vc, unsigned int cols, unsigned int lines)
|
||||
static int vc_do_resize(struct tty_struct *tty, struct vc_data *vc,
|
||||
unsigned int cols, unsigned int lines)
|
||||
{
|
||||
unsigned long old_origin, new_origin, new_scr_end, rlth, rrem, err = 0;
|
||||
unsigned int old_cols, old_rows, old_row_size, old_screen_size;
|
||||
@ -932,7 +932,7 @@ static int vc_do_resize(struct tty_struct *tty, struct tty_struct *real_tty,
|
||||
ws.ws_row = vc->vc_rows;
|
||||
ws.ws_col = vc->vc_cols;
|
||||
ws.ws_ypixel = vc->vc_scan_lines;
|
||||
tty_do_resize(tty, real_tty, &ws);
|
||||
tty_do_resize(tty, &ws);
|
||||
}
|
||||
|
||||
if (CON_IS_VISIBLE(vc))
|
||||
@ -954,13 +954,12 @@ static int vc_do_resize(struct tty_struct *tty, struct tty_struct *real_tty,
|
||||
|
||||
int vc_resize(struct vc_data *vc, unsigned int cols, unsigned int rows)
|
||||
{
|
||||
return vc_do_resize(vc->vc_tty, vc->vc_tty, vc, cols, rows);
|
||||
return vc_do_resize(vc->vc_tty, vc, cols, rows);
|
||||
}
|
||||
|
||||
/**
|
||||
* vt_resize - resize a VT
|
||||
* @tty: tty to resize
|
||||
* @real_tty: tty if a pty/tty pair
|
||||
* @ws: winsize attributes
|
||||
*
|
||||
* Resize a virtual terminal. This is called by the tty layer as we
|
||||
@ -971,14 +970,13 @@ int vc_resize(struct vc_data *vc, unsigned int cols, unsigned int rows)
|
||||
* termios_mutex and the tty ctrl_lock in that order.
|
||||
*/
|
||||
|
||||
int vt_resize(struct tty_struct *tty, struct tty_struct *real_tty,
|
||||
struct winsize *ws)
|
||||
int vt_resize(struct tty_struct *tty, struct winsize *ws)
|
||||
{
|
||||
struct vc_data *vc = tty->driver_data;
|
||||
int ret;
|
||||
|
||||
acquire_console_sem();
|
||||
ret = vc_do_resize(tty, real_tty, vc, ws->ws_col, ws->ws_row);
|
||||
ret = vc_do_resize(tty, vc, ws->ws_col, ws->ws_row);
|
||||
release_console_sem();
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user