fbcon: Sanitize fbcon
Subsystems (2)
PATCH 1/1 fbcon: Sanitize fbcon
Do not pass the structure display since fbcon is already keeping the pointer to the current display.
Signed-off-by Antonino Daplas <[email protected]>
---
drivers/video/console/bitblit.c | 14 +++++----- drivers/video/console/fbcon.c | 49 ++++++++++++++++------------------ drivers/video/console/fbcon.h | 11 +++----- drivers/video/console/fbcon_ccw.c | 17 ++++++------ drivers/video/console/fbcon_cw.c | 17 ++++++------ drivers/video/console/fbcon_rotate.c | 9 +++--- drivers/video/console/fbcon_ud.c | 19 ++++++------- drivers/video/console/tileblit.c | 17 ++++++------ 8 files changed, 71 insertions(+), 82 deletions(-)
drivers/video/console/bitblit.c +7 -7
@@ -234,14 +234,14 @@ static void bit_clear_margins(struct vc_ } } -static void bit_cursor (struct vc_data *vc,struct fb_info *info, -struct display *p,int mode,int softback_lines,int fg,int bg) +static void bit_cursor (struct vc_data *vc,struct fb_info *info,int mode, +int softback_lines,int fg,int bg) {struct fb_cursor cursor; -struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par; +struct fbcon_ops *ops = info->fbcon_par;unsigned short charmask = vc->vc_hi_font_mask ?0x1ff :0xff ;int w = (vc->vc_font.width +7 ) >>3 , c; -int y =real_y (p, vc->vc_y); +int y =real_y (ops->p, vc->vc_y);int attribute, use_sw = (vc->vc_cursor_type &0x10 );int err =1 ;char *src;
@@ -310,7 +310,7 @@ static void bit_cursor(struct vc_data *v }if (cursor.set &FB_CUR_SETSIZE || - vc->vc_cursor_type != p->cursor_shape || + vc->vc_cursor_type != ops->p->cursor_shape || ops->cursor_state.mask ==NULL || ops->cursor_reset) {char *mask =kmalloc (w*vc->vc_font.height,GFP_ATOMIC );
@@ -323,10 +323,10 @@ static void bit_cursor(struct vc_data *vkfree (ops->cursor_state.mask); ops->cursor_state.mask = mask; - p->cursor_shape = vc->vc_cursor_type; + ops->p->cursor_shape = vc->vc_cursor_type; cursor.set |=FB_CUR_SETSHAPE ; -switch (p->cursor_shape &CUR_HWMASK ) { +switch (ops->p->cursor_shape &CUR_HWMASK ) {case CUR_NONE : cur_height =0 ;break ;
drivers/video/console/fbcon.c +23 -26
149 lines not on this page · raw message
drivers/video/console/fbcon.h +4 -7
@@ -62,12 +62,10 @@ struct fbcon_ops { int fg, int bg);void (*clear_margins)(struct vc_data *vc,struct fb_info *info,int bottom_only); -void (*cursor)(struct vc_data *vc,struct fb_info *info, -struct display *p,int mode,int softback_lines, -int fg,int bg); +void (*cursor)(struct vc_data *vc,struct fb_info *info,int mode, +int softback_lines,int fg,int bg);int (*update_start)(struct fb_info *info); -int (*rotate_font)(struct fb_info *info,struct vc_data *vc, -struct display *p); +int (*rotate_font)(struct fb_info *info,struct vc_data *vc);struct fb_var_screeninfo var;/* copy of the current fb_var_screeninfo */ struct timer_list cursor_timer;/* Cursor timer */ struct fb_cursor cursor_state;
@@ -173,8 +171,7 @@ struct fbcon_ops {#define SCROLL_PAN_REDRAW 0x005#ifdef CONFIG_FB_TILEBLITTING -extern void fbcon_set_tileops (struct vc_data *vc,struct fb_info *info, -struct display *p,struct fbcon_ops *ops); +extern void fbcon_set_tileops (struct vc_data *vc,struct fb_info *info);#endif extern void fbcon_set_bitops (struct fbcon_ops *ops);extern int soft_cursor (struct fb_info *info,struct fb_cursor *cursor);
drivers/video/console/fbcon_ccw.c +8 -9
@@ -219,19 +219,18 @@ static void ccw_clear_margins(struct vc_ } } -static void ccw_cursor (struct vc_data *vc,struct fb_info *info, -struct display *p,int mode,int softback_lines, -int fg,int bg) +static void ccw_cursor (struct vc_data *vc,struct fb_info *info,int mode, +int softback_lines,int fg,int bg) {struct fb_cursor cursor; -struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par; +struct fbcon_ops *ops = info->fbcon_par;unsigned short charmask = vc->vc_hi_font_mask ?0x1ff :0xff ;int w = (vc->vc_font.height +7 ) >>3 , c; -int y =real_y (p, vc->vc_y); +int y =real_y (ops->p, vc->vc_y);int attribute, use_sw = (vc->vc_cursor_type &0x10 );int err =1 , dx, dy;char *src; -u32 vyres =GETVYRES (p->scrollmode, info); +u32 vyres =GETVYRES (ops->p->scrollmode, info);if (!ops->fontbuffer)return ;
@@ -303,7 +302,7 @@ static void ccw_cursor(struct vc_data *v }if (cursor.set &FB_CUR_SETSIZE || - vc->vc_cursor_type != p->cursor_shape || + vc->vc_cursor_type != ops->p->cursor_shape || ops->cursor_state.mask ==NULL || ops->cursor_reset) {char *tmp, *mask =kmalloc (w*vc->vc_font.width,GFP_ATOMIC );
@@ -323,10 +322,10 @@ static void ccw_cursor(struct vc_data *vkfree (ops->cursor_state.mask); ops->cursor_state.mask = mask; - p->cursor_shape = vc->vc_cursor_type; + ops->p->cursor_shape = vc->vc_cursor_type; cursor.set |=FB_CUR_SETSHAPE ; -switch (p->cursor_shape &CUR_HWMASK ) { +switch (ops->p->cursor_shape &CUR_HWMASK ) {case CUR_NONE : cur_height =0 ;break ;
drivers/video/console/fbcon_cw.c +8 -9
@@ -203,19 +203,18 @@ static void cw_clear_margins(struct vc_d } } -static void cw_cursor (struct vc_data *vc,struct fb_info *info, -struct display *p,int mode,int softback_lines, -int fg,int bg) +static void cw_cursor (struct vc_data *vc,struct fb_info *info,int mode, +int softback_lines,int fg,int bg) {struct fb_cursor cursor; -struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par; +struct fbcon_ops *ops = info->fbcon_par;unsigned short charmask = vc->vc_hi_font_mask ?0x1ff :0xff ;int w = (vc->vc_font.height +7 ) >>3 , c; -int y =real_y (p, vc->vc_y); +int y =real_y (ops->p, vc->vc_y);int attribute, use_sw = (vc->vc_cursor_type &0x10 );int err =1 , dx, dy;char *src; -u32 vxres =GETVXRES (p->scrollmode, info); +u32 vxres =GETVXRES (ops->p->scrollmode, info);if (!ops->fontbuffer)return ;
@@ -287,7 +286,7 @@ static void cw_cursor(struct vc_data *vc }if (cursor.set &FB_CUR_SETSIZE || - vc->vc_cursor_type != p->cursor_shape || + vc->vc_cursor_type != ops->p->cursor_shape || ops->cursor_state.mask ==NULL || ops->cursor_reset) {char *tmp, *mask =kmalloc (w*vc->vc_font.width,GFP_ATOMIC );
@@ -307,10 +306,10 @@ static void cw_cursor(struct vc_data *vckfree (ops->cursor_state.mask); ops->cursor_state.mask = mask; - p->cursor_shape = vc->vc_cursor_type; + ops->p->cursor_shape = vc->vc_cursor_type; cursor.set |=FB_CUR_SETSHAPE ; -switch (p->cursor_shape &CUR_HWMASK ) { +switch (ops->p->cursor_shape &CUR_HWMASK ) {case CUR_NONE : cur_height =0 ;break ;
drivers/video/console/fbcon_rotate.c +4 -5
@@ -18,8 +18,7 @@#include "fbcon.h" #include "fbcon_rotate.h" -static int fbcon_rotate_font (struct fb_info *info,struct vc_data *vc, -struct display *p) +static int fbcon_rotate_font (struct fb_info *info,struct vc_data *vc) {struct fbcon_ops *ops = info->fbcon_par;int len, err =0 ;
@@ -28,12 +27,12 @@ static int fbcon_rotate_font(struct fb_iu8 *dst;if (vc->vc_font.data == ops->fontdata && - p->con_rotate == ops->cur_rotate) + ops->p->con_rotate == ops->cur_rotate) goto finished; src = ops->fontdata = vc->vc_font.data; - ops->cur_rotate = p->con_rotate; - len = (!p->userfont) ?256 :FNTCHARCNT (src); + ops->cur_rotate = ops->p->con_rotate; + len = (!ops->p->userfont) ?256 :FNTCHARCNT (src); s_cellsize = ((vc->vc_font.width +7 )/8 ) * vc->vc_font.height; d_cellsize = s_cellsize;
drivers/video/console/fbcon_ud.c +9 -10
@@ -249,20 +249,19 @@ static void ud_clear_margins(struct vc_d } } -static void ud_cursor (struct vc_data *vc,struct fb_info *info, -struct display *p,int mode,int softback_lines, -int fg,int bg) +static void ud_cursor (struct vc_data *vc,struct fb_info *info,int mode, +int softback_lines,int fg,int bg) {struct fb_cursor cursor; -struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par; +struct fbcon_ops *ops = info->fbcon_par;unsigned short charmask = vc->vc_hi_font_mask ?0x1ff :0xff ;int w = (vc->vc_font.width +7 ) >>3 , c; -int y =real_y (p, vc->vc_y); +int y =real_y (ops->p, vc->vc_y);int attribute, use_sw = (vc->vc_cursor_type &0x10 );int err =1 , dx, dy;char *src; -u32 vyres =GETVYRES (p->scrollmode, info); -u32 vxres =GETVXRES (p->scrollmode, info); +u32 vyres =GETVYRES (ops->p->scrollmode, info); +u32 vxres =GETVXRES (ops->p->scrollmode, info);if (!ops->fontbuffer)return ;
@@ -334,7 +333,7 @@ static void ud_cursor(struct vc_data *vc }if (cursor.set &FB_CUR_SETSIZE || - vc->vc_cursor_type != p->cursor_shape || + vc->vc_cursor_type != ops->p->cursor_shape || ops->cursor_state.mask ==NULL || ops->cursor_reset) {char *mask =kmalloc (w*vc->vc_font.height,GFP_ATOMIC );
@@ -347,10 +346,10 @@ static void ud_cursor(struct vc_data *vckfree (ops->cursor_state.mask); ops->cursor_state.mask = mask; - p->cursor_shape = vc->vc_cursor_type; + ops->p->cursor_shape = vc->vc_cursor_type; cursor.set |=FB_CUR_SETSHAPE ; -switch (p->cursor_shape &CUR_HWMASK ) { +switch (ops->p->cursor_shape &CUR_HWMASK ) {case CUR_NONE : cur_height =0 ;break ;
drivers/video/console/tileblit.c +8 -9
@@ -80,9 +80,8 @@ static void tile_clear_margins(struct vcreturn ; } -static void tile_cursor (struct vc_data *vc,struct fb_info *info, -struct display *p,int mode,int softback_lines, -int fg,int bg) +static void tile_cursor (struct vc_data *vc,struct fb_info *info,int mode, +int softback_lines,int fg,int bg) {struct fb_tilecursor cursor;int use_sw = (vc->vc_cursor_type &0x01 );
@@ -130,10 +129,10 @@ static int tile_update_start(struct fb_ireturn err; } -void fbcon_set_tileops (struct vc_data *vc,struct fb_info *info, -struct display *p,struct fbcon_ops *ops) +void fbcon_set_tileops (struct vc_data *vc,struct fb_info *info) {struct fb_tilemap map; +struct fbcon_ops *ops = info->fbcon_par; ops->bmove = tile_bmove; ops->clear = tile_clear;
@@ -142,13 +141,13 @@ void fbcon_set_tileops(struct vc_data *v ops->cursor = tile_cursor; ops->update_start = tile_update_start; -if (p) { +if (ops->p) { map.width = vc->vc_font.width; map.height = vc->vc_font.height; map.depth =1 ; - map.length = (p->userfont) ? -FNTCHARCNT (p->fontdata) :256 ; - map.data = p->fontdata; + map.length = (ops->p->userfont) ? +FNTCHARCNT (ops->p->fontdata) :256 ; + map.data = ops->p->fontdata; info->tileops->fb_settile (info, &map); } }
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click