fbcon: Consolidate redundant code
Subsystems (2)
PATCH 2/17 fbcon: Consolidate redundant code
Lot's of redundant code scattered throughout fbcon.c. Consolidate them all into one function, fbcon_update_softback().
Signed-off-by Antonino Daplas <[email protected]>
--- fbcon.c | 85 +++++++++++++++++----------------------------------------------- 1 files changed, 23 insertions(+), 62 deletions(-)
drivers/video/console/fbcon.c +23 -62
@@ -281,6 +281,18 @@ static inline int get_color(struct vc_dareturn color; } +static void fbcon_update_softback (struct vc_data *vc) +{ +int l = fbcon_softback_size / vc->vc_size_row; + +if (l >5 ) + softback_end = softback_buf + l * vc->vc_size_row; +else +/* Smaller scrollback makes no sense, and 0 would screw +the operation totally */ + softback_top =0 ; +} +static void fb_flashcursor (void *private) {struct fb_info *info = private;
@@ -1007,16 +1019,8 @@ static void fbcon_init(struct vc_data *vif (logo)fbcon_prepare_logo (vc, info, cols, rows, new_cols, new_rows); -if (vc == svc && softback_buf) { -int l = fbcon_softback_size / vc->vc_size_row; -if (l >5 ) - softback_end = softback_buf + l * vc->vc_size_row; -else { -/* Smaller scrollback makes no sense, and 0 would screw -the operation totally */ - softback_top =0 ; - } - } +if (vc == svc && softback_buf) +fbcon_update_softback (vc); }static void fbcon_deinit (struct vc_data *vc)
@@ -1223,18 +1227,8 @@ static void fbcon_set_disp(struct fb_infvc_resize (vc, cols, rows);if (CON_IS_VISIBLE (vc)) {update_screen (vc); -if (softback_buf) { -int l = fbcon_softback_size / vc->vc_size_row; - -if (l >5 ) - softback_end = softback_buf + l * - vc->vc_size_row; -else { -/* Smaller scrollback makes no sense, and 0 -would screw the operation totally */ - softback_top =0 ; - } - } +if (softback_buf) +fbcon_update_softback (vc); } }
@@ -1933,19 +1927,11 @@ static int fbcon_switch(struct vc_data * info = registered_fb[con2fb_map[vc->vc_num]];if (softback_top) { -int l = fbcon_softback_size / vc->vc_size_row;if (softback_lines)fbcon_set_origin (vc); softback_top = softback_curr = softback_in = softback_buf; softback_lines =0 ; - -if (l >5 ) - softback_end = softback_buf + l * vc->vc_size_row; -else { -/* Smaller scrollback makes no sense, and 0 would screw -the operation totally */ - softback_top =0 ; - } +fbcon_update_softback (vc); }if (logo_shown >=0 ) {
@@ -2235,17 +2221,8 @@ static int fbcon_do_set_font(struct vc_d/* reset wrap/pan */ info->var.xoffset = info->var.yoffset = p->yscroll =0 ;vc_resize (vc, info->var.xres / w, info->var.yres / h); -if (CON_IS_VISIBLE (vc) && softback_buf) { -int l = fbcon_softback_size / vc->vc_size_row; -if (l >5 ) - softback_end = - softback_buf + l * vc->vc_size_row; -else { -/* Smaller scrollback makes no sense, and 0 would screw -the operation totally */ - softback_top =0 ; - } - } +if (CON_IS_VISIBLE (vc) && softback_buf) +fbcon_update_softback (vc); }else if (CON_IS_VISIBLE (vc) && vc->vc_mode ==KD_TEXT ) {fbcon_clear_margins (vc,0 );
@@ -2615,16 +2592,8 @@ static void fbcon_modechanged(struct fb_update_var (vc->vc_num, info);fbcon_set_palette (vc, color_table);update_screen (vc); -if (softback_buf) { -int l = fbcon_softback_size / vc->vc_size_row; -if (l >5 ) - softback_end = softback_buf + l * vc->vc_size_row; -else { -/* Smaller scrollback makes no sense, and 0 -would screw the operation totally */ - softback_top =0 ; - } - } +if (softback_buf) +fbcon_update_softback (vc); } }
@@ -2659,16 +2628,8 @@ static void fbcon_set_all_vcs(struct fb_update_var (vc->vc_num, info);fbcon_set_palette (vc, color_table);update_screen (vc); -if (softback_buf) { -int l = fbcon_softback_size / vc->vc_size_row; -if (l >5 ) - softback_end = softback_buf + l * vc->vc_size_row; -else { -/* Smaller scrollback makes no sense, and 0 -would screw the operation totally */ - softback_top =0 ; - } - } +if (softback_buf) +fbcon_update_softback (vc); } } }
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl