diff options
author | Antonino A. Daplas <adaplas@gmail.com> | 2006-01-09 23:52:56 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 11:01:42 -0500 |
commit | b73deed32d08740bdbf5f4aab43d988e4d135d95 (patch) | |
tree | 75d78d58fc1a20f6387d1e152bce148398a93836 /drivers/video/console/fbcon_ccw.c | |
parent | 8416131ded5e491ecc2947d1ffaedf64725bb7a3 (diff) |
[PATCH] 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 <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/video/console/fbcon_ccw.c')
-rw-r--r-- | drivers/video/console/fbcon_ccw.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/video/console/fbcon_ccw.c b/drivers/video/console/fbcon_ccw.c index 4952b66ae206..990289a69b78 100644 --- a/drivers/video/console/fbcon_ccw.c +++ b/drivers/video/console/fbcon_ccw.c | |||
@@ -219,19 +219,18 @@ static void ccw_clear_margins(struct vc_data *vc, struct fb_info *info, | |||
219 | } | 219 | } |
220 | } | 220 | } |
221 | 221 | ||
222 | static void ccw_cursor(struct vc_data *vc, struct fb_info *info, | 222 | static void ccw_cursor(struct vc_data *vc, struct fb_info *info, int mode, |
223 | struct display *p, int mode, int softback_lines, | 223 | int softback_lines, int fg, int bg) |
224 | int fg, int bg) | ||
225 | { | 224 | { |
226 | struct fb_cursor cursor; | 225 | struct fb_cursor cursor; |
227 | struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par; | 226 | struct fbcon_ops *ops = info->fbcon_par; |
228 | unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; | 227 | unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; |
229 | int w = (vc->vc_font.height + 7) >> 3, c; | 228 | int w = (vc->vc_font.height + 7) >> 3, c; |
230 | int y = real_y(p, vc->vc_y); | 229 | int y = real_y(ops->p, vc->vc_y); |
231 | int attribute, use_sw = (vc->vc_cursor_type & 0x10); | 230 | int attribute, use_sw = (vc->vc_cursor_type & 0x10); |
232 | int err = 1, dx, dy; | 231 | int err = 1, dx, dy; |
233 | char *src; | 232 | char *src; |
234 | u32 vyres = GETVYRES(p->scrollmode, info); | 233 | u32 vyres = GETVYRES(ops->p->scrollmode, info); |
235 | 234 | ||
236 | if (!ops->fontbuffer) | 235 | if (!ops->fontbuffer) |
237 | return; | 236 | return; |
@@ -303,7 +302,7 @@ static void ccw_cursor(struct vc_data *vc, struct fb_info *info, | |||
303 | } | 302 | } |
304 | 303 | ||
305 | if (cursor.set & FB_CUR_SETSIZE || | 304 | if (cursor.set & FB_CUR_SETSIZE || |
306 | vc->vc_cursor_type != p->cursor_shape || | 305 | vc->vc_cursor_type != ops->p->cursor_shape || |
307 | ops->cursor_state.mask == NULL || | 306 | ops->cursor_state.mask == NULL || |
308 | ops->cursor_reset) { | 307 | ops->cursor_reset) { |
309 | char *tmp, *mask = kmalloc(w*vc->vc_font.width, GFP_ATOMIC); | 308 | char *tmp, *mask = kmalloc(w*vc->vc_font.width, GFP_ATOMIC); |
@@ -323,10 +322,10 @@ static void ccw_cursor(struct vc_data *vc, struct fb_info *info, | |||
323 | kfree(ops->cursor_state.mask); | 322 | kfree(ops->cursor_state.mask); |
324 | ops->cursor_state.mask = mask; | 323 | ops->cursor_state.mask = mask; |
325 | 324 | ||
326 | p->cursor_shape = vc->vc_cursor_type; | 325 | ops->p->cursor_shape = vc->vc_cursor_type; |
327 | cursor.set |= FB_CUR_SETSHAPE; | 326 | cursor.set |= FB_CUR_SETSHAPE; |
328 | 327 | ||
329 | switch (p->cursor_shape & CUR_HWMASK) { | 328 | switch (ops->p->cursor_shape & CUR_HWMASK) { |
330 | case CUR_NONE: | 329 | case CUR_NONE: |
331 | cur_height = 0; | 330 | cur_height = 0; |
332 | break; | 331 | break; |