2023-08-01 06:02:50

by oushixiong

[permalink] [raw]
Subject: [PATCH] tty: vt: Remove some repetitive initialization

Some members of struct vc_data have been initialized in the vc_visual(),
so it no longer to initialized them in vc_init().

Signed-off-by: oushixiong <[email protected]>
---
drivers/tty/vt/vt.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 1e8e57b45688..cf77011a8f4e 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -140,8 +140,7 @@ EXPORT_SYMBOL(vc_cons);
static const struct consw *con_driver_map[MAX_NR_CONSOLES];

static int con_open(struct tty_struct *, struct file *);
-static void vc_init(struct vc_data *vc, unsigned int rows,
- unsigned int cols, int do_clear);
+static void vc_init(struct vc_data *vc, int do_clear);
static void gotoxy(struct vc_data *vc, int new_x, int new_y);
static void save_cur(struct vc_data *vc);
static void reset_terminal(struct vc_data *vc, int do_clear);
@@ -1103,7 +1102,7 @@ int vc_allocate(unsigned int currcons) /* return 0 on success */
if (global_cursor_default == -1)
global_cursor_default = 1;

- vc_init(vc, vc->vc_rows, vc->vc_cols, 1);
+ vc_init(vc, 1);
vcs_make_sysfs(currcons);
atomic_notifier_call_chain(&vt_notifier_list, VT_ALLOCATE, &param);

@@ -3398,16 +3397,10 @@ module_param_named(color, default_color, int, S_IRUGO | S_IWUSR);
module_param_named(italic, default_italic_color, int, S_IRUGO | S_IWUSR);
module_param_named(underline, default_underline_color, int, S_IRUGO | S_IWUSR);

-static void vc_init(struct vc_data *vc, unsigned int rows,
- unsigned int cols, int do_clear)
+static void vc_init(struct vc_data *vc, int do_clear)
{
int j, k ;

- vc->vc_cols = cols;
- vc->vc_rows = rows;
- vc->vc_size_row = cols << 1;
- vc->vc_screenbuf_size = vc->vc_rows * vc->vc_size_row;
-
set_origin(vc);
vc->vc_pos = vc->vc_origin;
reset_vc(vc);
@@ -3475,8 +3468,7 @@ static int __init con_init(void)
visual_init(vc, currcons, 1);
/* Assuming vc->vc_{cols,rows,screenbuf_size} are sane here. */
vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_NOWAIT);
- vc_init(vc, vc->vc_rows, vc->vc_cols,
- currcons || !vc->vc_sw->con_save_screen);
+ vc_init(vc, currcons || !vc->vc_sw->con_save_screen);
}
currcons = fg_console = 0;
master_display_fg = vc = vc_cons[currcons].d;
--
2.25.1


No virus found
Checked by Hillstone Network AntiVirus


2023-08-01 06:17:29

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] tty: vt: Remove some repetitive initialization

On Tue, Aug 01, 2023 at 01:49:33PM +0800, oushixiong wrote:
> Some members of struct vc_data have been initialized in the vc_visual(),

Which members specifically?

> so it no longer to initialized them in vc_init().
>
> Signed-off-by: oushixiong <[email protected]>
> ---
> drivers/tty/vt/vt.c | 16 ++++------------
> 1 file changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index 1e8e57b45688..cf77011a8f4e 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -140,8 +140,7 @@ EXPORT_SYMBOL(vc_cons);
> static const struct consw *con_driver_map[MAX_NR_CONSOLES];
>
> static int con_open(struct tty_struct *, struct file *);
> -static void vc_init(struct vc_data *vc, unsigned int rows,
> - unsigned int cols, int do_clear);
> +static void vc_init(struct vc_data *vc, int do_clear);
> static void gotoxy(struct vc_data *vc, int new_x, int new_y);
> static void save_cur(struct vc_data *vc);
> static void reset_terminal(struct vc_data *vc, int do_clear);
> @@ -1103,7 +1102,7 @@ int vc_allocate(unsigned int currcons) /* return 0 on success */
> if (global_cursor_default == -1)
> global_cursor_default = 1;
>
> - vc_init(vc, vc->vc_rows, vc->vc_cols, 1);
> + vc_init(vc, 1);
> vcs_make_sysfs(currcons);
> atomic_notifier_call_chain(&vt_notifier_list, VT_ALLOCATE, &param);
>
> @@ -3398,16 +3397,10 @@ module_param_named(color, default_color, int, S_IRUGO | S_IWUSR);
> module_param_named(italic, default_italic_color, int, S_IRUGO | S_IWUSR);
> module_param_named(underline, default_underline_color, int, S_IRUGO | S_IWUSR);
>
> -static void vc_init(struct vc_data *vc, unsigned int rows,
> - unsigned int cols, int do_clear)
> +static void vc_init(struct vc_data *vc, int do_clear)
> {
> int j, k ;
>
> - vc->vc_cols = cols;
> - vc->vc_rows = rows;
> - vc->vc_size_row = cols << 1;
> - vc->vc_screenbuf_size = vc->vc_rows * vc->vc_size_row;

Where are these being set now?

thanks,

greg k-h