[PATCH] fbcon/fbdev: Move softcursor out of fbdev to fbcon
According to Jon Smirl, filling in the field fb_cursor with soft_cursor for drivers that do not support hardware cursors is redundant. The soft_cursor function is usable by all drivers because it is just a wrapper around fb_imageblit. And because soft_cursor is an fbcon-specific hook, the file is moved to the console directory. Thus, drivers that do not support hardware cursors can leave the fb_cursor field blank. For drivers that do, they can fill up this field with their own version. The end result is a smaller code size. And if the framebuffer console is not loaded, module/kernel size is also reduced because the soft_cursor module will also not be loaded. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
e764a20196
commit
c465e05a03
@@ -272,6 +272,7 @@ static void bit_cursor(struct vc_data *vc, struct fb_info *info,
|
||||
int w = (vc->vc_font.width + 7) >> 3, c;
|
||||
int y = real_y(p, vc->vc_y);
|
||||
int attribute, use_sw = (vc->vc_cursor_type & 0x10);
|
||||
int err = 1;
|
||||
char *src;
|
||||
|
||||
cursor.set = 0;
|
||||
@@ -408,7 +409,11 @@ static void bit_cursor(struct vc_data *vc, struct fb_info *info,
|
||||
cursor.image.depth = 1;
|
||||
cursor.rop = ROP_XOR;
|
||||
|
||||
info->fbops->fb_cursor(info, &cursor);
|
||||
if (info->fbops->fb_cursor)
|
||||
err = info->fbops->fb_cursor(info, &cursor);
|
||||
|
||||
if (err)
|
||||
soft_cursor(info, &cursor);
|
||||
|
||||
ops->cursor_reset = 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user