diff --git a/drivers/amlogic/display/osd/Kconfig b/drivers/amlogic/display/osd/Kconfig index d321ff6f..29d84651 100644 --- a/drivers/amlogic/display/osd/Kconfig +++ b/drivers/amlogic/display/osd/Kconfig @@ -46,4 +46,12 @@ config FB_OSD2_CURSOR default n help Select to enable OSD2 cursor. + +config FB_SOFT_CURSOR + boolean "Framebuffer Soft Cursor Fallback" + depends on !FB_OSD2_CURSOR + default y + help + Select to enable soft cursor. + endmenu diff --git a/drivers/amlogic/display/osd/osd_fb.c b/drivers/amlogic/display/osd/osd_fb.c index 54220e91..0bf8876a 100644 --- a/drivers/amlogic/display/osd/osd_fb.c +++ b/drivers/amlogic/display/osd/osd_fb.c @@ -1131,6 +1131,13 @@ static int osd_cursor(struct fb_info *fbi, struct fb_cursor *var) } #endif +#if defined(CONFIG_FB_SOFT_CURSOR) +static int osd_soft_cursor(struct fb_info *fbi, struct fb_cursor *var) +{ + return -EINVAL; /* just to force soft_cursor() call */ +} +#endif + static int osd_sync(struct fb_info *info) { return 0; @@ -1148,7 +1155,7 @@ static struct fb_ops osd_ops = { .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, #ifdef CONFIG_FB_SOFT_CURSOR - .fb_cursor = soft_cursor, + .fb_cursor = osd_soft_cursor, #elif defined(CONFIG_FB_OSD2_CURSOR) .fb_cursor = osd_cursor, #endif