[PATCH] tty: vt: Remove some repetitive initialization

oushixiong posted 1 patch 2 years, 6 months ago
There is a newer version of this series
drivers/tty/vt/vt.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
[PATCH] tty: vt: Remove some repetitive initialization
Posted by oushixiong 2 years, 6 months ago
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 <oushixiong@kylinos.cn>
---
 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
Re: [PATCH] tty: vt: Remove some repetitive initialization
Posted by Greg Kroah-Hartman 2 years, 6 months ago
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 <oushixiong@kylinos.cn>
> ---
>  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