aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/console/fbcon_cw.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/console/fbcon_cw.c')
-rw-r--r--drivers/video/console/fbcon_cw.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/video/console/fbcon_cw.c b/drivers/video/console/fbcon_cw.c
index 6d92b8456206..d44c5fa515fb 100644
--- a/drivers/video/console/fbcon_cw.c
+++ b/drivers/video/console/fbcon_cw.c
@@ -203,19 +203,18 @@ static void cw_clear_margins(struct vc_data *vc, struct fb_info *info,
203 } 203 }
204} 204}
205 205
206static void cw_cursor(struct vc_data *vc, struct fb_info *info, 206static void cw_cursor(struct vc_data *vc, struct fb_info *info, int mode,
207 struct display *p, int mode, int softback_lines, 207 int softback_lines, int fg, int bg)
208 int fg, int bg)
209{ 208{
210 struct fb_cursor cursor; 209 struct fb_cursor cursor;
211 struct fbcon_ops *ops = (struct fbcon_ops *) info->fbcon_par; 210 struct fbcon_ops *ops = info->fbcon_par;
212 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; 211 unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
213 int w = (vc->vc_font.height + 7) >> 3, c; 212 int w = (vc->vc_font.height + 7) >> 3, c;
214 int y = real_y(p, vc->vc_y); 213 int y = real_y(ops->p, vc->vc_y);
215 int attribute, use_sw = (vc->vc_cursor_type & 0x10); 214 int attribute, use_sw = (vc->vc_cursor_type & 0x10);
216 int err = 1, dx, dy; 215 int err = 1, dx, dy;
217 char *src; 216 char *src;
218 u32 vxres = GETVXRES(p->scrollmode, info); 217 u32 vxres = GETVXRES(ops->p->scrollmode, info);
219 218
220 if (!ops->fontbuffer) 219 if (!ops->fontbuffer)
221 return; 220 return;
@@ -287,7 +286,7 @@ static void cw_cursor(struct vc_data *vc, struct fb_info *info,
287 } 286 }
288 287
289 if (cursor.set & FB_CUR_SETSIZE || 288 if (cursor.set & FB_CUR_SETSIZE ||
290 vc->vc_cursor_type != p->cursor_shape || 289 vc->vc_cursor_type != ops->p->cursor_shape ||
291 ops->cursor_state.mask == NULL || 290 ops->cursor_state.mask == NULL ||
292 ops->cursor_reset) { 291 ops->cursor_reset) {
293 char *tmp, *mask = kmalloc(w*vc->vc_font.width, GFP_ATOMIC); 292 char *tmp, *mask = kmalloc(w*vc->vc_font.width, GFP_ATOMIC);
@@ -307,10 +306,10 @@ static void cw_cursor(struct vc_data *vc, struct fb_info *info,
307 kfree(ops->cursor_state.mask); 306 kfree(ops->cursor_state.mask);
308 ops->cursor_state.mask = mask; 307 ops->cursor_state.mask = mask;
309 308
310 p->cursor_shape = vc->vc_cursor_type; 309 ops->p->cursor_shape = vc->vc_cursor_type;
311 cursor.set |= FB_CUR_SETSHAPE; 310 cursor.set |= FB_CUR_SETSHAPE;
312 311
313 switch (p->cursor_shape & CUR_HWMASK) { 312 switch (ops->p->cursor_shape & CUR_HWMASK) {
314 case CUR_NONE: 313 case CUR_NONE:
315 cur_height = 0; 314 cur_height = 0;
316 break; 315 break;