fbcon/fbdev: Move softcursor out of fbdev to fbcon
Subsystems (4)
PATCH 1/17 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.
--- drivers/video/68328fb.c | 1 drivers/video/Kconfig | 79 --------------------------------- drivers/video/Makefile | 1 drivers/video/acornfb.c | 1 drivers/video/amba-clcd.c | 1 drivers/video/amifb.c | 1 drivers/video/arcfb.c | 1 drivers/video/asiliantfb.c | 1 drivers/video/aty/aty128fb.c | 1 drivers/video/aty/atyfb_base.c | 1 drivers/video/aty/radeon_base.c | 1 drivers/video/bw2.c | 1 drivers/video/cg14.c | 1 drivers/video/cg3.c | 1 drivers/video/cg6.c | 1 drivers/video/chipsfb.c | 1 drivers/video/cirrusfb.c | 1 drivers/video/clps711xfb.c | 1 drivers/video/console/Makefile | 2 drivers/video/console/bitblit.c | 7 ++ drivers/video/console/fbcon.h | 2 drivers/video/console/softcursor.c | 72 ++++++++++++++++++++++++++++++ drivers/video/controlfb.c | 1 drivers/video/cyber2000fb.c | 1 drivers/video/cyblafb.c | 1 drivers/video/dnfb.c | 1 drivers/video/epson1355fb.c | 1 drivers/video/ffb.c | 3 - drivers/video/fm2fb.c | 1 drivers/video/gbefb.c | 1 drivers/video/geode/Kconfig | 1 drivers/video/geode/gx1fb_core.c | 1 drivers/video/hitfb.c | 1 drivers/video/hpfb.c | 1 drivers/video/imsttfb.c | 1 drivers/video/imxfb.c | 1 drivers/video/intelfb/intelfbdrv.c | 2 drivers/video/kyro/fbdev.c | 1 drivers/video/leo.c | 1 drivers/video/macfb.c | 1 drivers/video/matrox/matroxfb_accel.c | 2 drivers/video/matrox/matroxfb_crtc2.c | 1 drivers/video/maxinefb.c | 1 drivers/video/neofb.c | 1 drivers/video/nvidia/nvidia.c | 2 drivers/video/offb.c | 1 drivers/video/p9100.c | 1 drivers/video/platinumfb.c | 1 drivers/video/pm2fb.c | 1 drivers/video/pmag-ba-fb.c | 1 drivers/video/pmagb-b-fb.c | 1 drivers/video/pvr2fb.c | 1 drivers/video/pxafb.c | 1 drivers/video/q40fb.c | 1 drivers/video/radeonfb.c | 1 drivers/video/s1d13xxxfb.c | 1 drivers/video/s3c2410fb.c | 1 drivers/video/sa1100fb.c | 1 drivers/video/savage/savagefb_driver.c | 1 drivers/video/sgivwfb.c | 1 drivers/video/sis/sis_main.c | 2 drivers/video/skeletonfb.c | 9 +-- drivers/video/softcursor.c | 72 ------------------------------ drivers/video/sstfb.c | 1 drivers/video/stifb.c | 1 drivers/video/tcx.c | 1 drivers/video/tdfxfb.c | 1 drivers/video/tgafb.c | 1 drivers/video/tridentfb.c | 1 drivers/video/tx3912fb.c | 1 drivers/video/valkyriefb.c | 1 drivers/video/vesafb.c | 1 drivers/video/vfb.c | 1 drivers/video/vga16fb.c | 1 drivers/video/w100fb.c | 1 include/linux/fb.h | 1 76 files changed, 88 insertions(+), 230 deletions(-)
drivers/video/68328fb.c +0 -1
@@ -113,7 +113,6 @@ static struct fb_ops mc68x328fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, .fb_mmap = mc68x328fb_mmap, };
drivers/video/Kconfig +0 -79
502 lines not on this page · raw message
drivers/video/Makefile +0 -1
@@ -16,7 +16,6 @@ fb-objs := $(f obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o obj-$(CONFIG_FB_CFB_IMAGEBLIT) += cfbimgblt.o -obj-$(CONFIG_FB_SOFT_CURSOR) += softcursor.o obj-$(CONFIG_FB_MACMODES) += macmodes.o # Hardware specific drivers go first
drivers/video/acornfb.c +0 -1
@@ -926,7 +926,6 @@ static struct fb_ops acornfb_ops = { .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, .fb_mmap = acornfb_mmap, - .fb_cursor = soft_cursor, };/*
drivers/video/amba-clcd.c +0 -1
@@ -332,7 +332,6 @@ static struct fb_ops clcdfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, .fb_mmap = clcdfb_mmap, };
drivers/video/amifb.c +0 -1
@@ -1185,7 +1185,6 @@ static struct fb_ops amifb_ops = { .fb_fillrect = amifb_fillrect, .fb_copyarea = amifb_copyarea, .fb_imageblit = amifb_imageblit, - .fb_cursor = soft_cursor, .fb_ioctl = amifb_ioctl, };
drivers/video/arcfb.c +0 -1
@@ -514,7 +514,6 @@ static struct fb_ops arcfb_ops = { .fb_fillrect = arcfb_fillrect, .fb_copyarea = arcfb_copyarea, .fb_imageblit = arcfb_imageblit, - .fb_cursor = soft_cursor, .fb_ioctl = arcfb_ioctl, };
drivers/video/asiliantfb.c +0 -1
@@ -106,7 +106,6 @@ static struct fb_ops asiliantfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };/* Calculate the ratios for the dot clocks without using a single long long
drivers/video/aty/aty128fb.c +0 -1
@@ -478,7 +478,6 @@ static struct fb_ops aty128fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };#ifdef CONFIG_PMAC_BACKLIGHT
drivers/video/aty/atyfb_base.c +0 -1
@@ -292,7 +292,6 @@ static struct fb_ops atyfb_ops = { .fb_fillrect = atyfb_fillrect, .fb_copyarea = atyfb_copyarea, .fb_imageblit = atyfb_imageblit, - .fb_cursor = soft_cursor,#ifdef __sparc__ .fb_mmap = atyfb_mmap,#endif
drivers/video/aty/radeon_base.c +0 -1
@@ -1873,7 +1873,6 @@ static struct fb_ops radeonfb_ops = { .fb_fillrect = radeonfb_fillrect, .fb_copyarea = radeonfb_copyarea, .fb_imageblit = radeonfb_imageblit, - .fb_cursor = soft_cursor, };
drivers/video/bw2.c +0 -1
@@ -51,7 +51,6 @@ static struct fb_ops bw2_ops = { .fb_imageblit = cfb_imageblit, .fb_mmap = bw2_mmap, .fb_ioctl = bw2_ioctl, - .fb_cursor = soft_cursor, };/* OBio addresses for the bwtwo registers */
drivers/video/cg14.c +0 -1
@@ -49,7 +49,6 @@ static struct fb_ops cg14_ops = { .fb_imageblit = cfb_imageblit, .fb_mmap = cg14_mmap, .fb_ioctl = cg14_ioctl, - .fb_cursor = soft_cursor, };#define CG14_MCR_INTENABLE_SHIFT 7
drivers/video/cg3.c +0 -1
@@ -50,7 +50,6 @@ static struct fb_ops cg3_ops = { .fb_imageblit = cfb_imageblit, .fb_mmap = cg3_mmap, .fb_ioctl = cg3_ioctl, - .fb_cursor = soft_cursor, };
drivers/video/cg6.c +0 -1
@@ -54,7 +54,6 @@ static struct fb_ops cg6_ops = { .fb_sync = cg6_sync, .fb_mmap = cg6_mmap, .fb_ioctl = cg6_ioctl, - .fb_cursor = soft_cursor, };/* Offset of interesting structures in the OBIO space */
drivers/video/chipsfb.c +0 -1
@@ -91,7 +91,6 @@ static struct fb_ops chipsfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, }; static int chipsfb_check_var(struct fb_var_screeninfo *var,
drivers/video/cirrusfb.c +0 -1
@@ -548,7 +548,6 @@ static struct fb_ops cirrusfb_ops = { .fb_fillrect = cirrusfb_fillrect, .fb_copyarea = cirrusfb_copyarea, .fb_imageblit = cirrusfb_imageblit, - .fb_cursor = soft_cursor, };/*--- Hardware Specific Routines -------------------------------------------*/
drivers/video/clps711xfb.c +0 -1
@@ -219,7 +219,6 @@ static struct fb_ops clps7111fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, }; static int
drivers/video/console/Makefile +1 -1
@@ -26,7 +26,7 @@ obj-$(CONFIG_PROM_CONSOLE) += pro obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o obj-$(CONFIG_VGA_CONSOLE) += vgacon.o obj-$(CONFIG_MDA_CONSOLE) += mdacon.o -obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o +obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o ifeq ($(CONFIG_FB_TILEBLITTING),y) obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o endif
drivers/video/console/bitblit.c +6 -1
@@ -272,6 +272,7 @@ static void bit_cursor(struct vc_data *vint 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 *v 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 ; }
drivers/video/console/fbcon.h +1 -1
@@ -167,5 +167,5 @@ extern void fbcon_set_tileops(struct vc_ struct display *p, struct fbcon_ops *ops);#endif extern void fbcon_set_bitops (struct fbcon_ops *ops); - +extern int soft_cursor (struct fb_info *info,struct fb_cursor *cursor);#endif /* _VIDEO_FBCON_H */
drivers/video/console/softcursor.c new file +72 -0
72 lines not on this page · raw message
drivers/video/controlfb.c +0 -1
@@ -176,7 +176,6 @@ static struct fb_ops controlfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };
drivers/video/cyber2000fb.c +0 -1
@@ -1064,7 +1064,6 @@ static struct fb_ops cyber2000fb_ops = { .fb_fillrect = cyber2000fb_fillrect, .fb_copyarea = cyber2000fb_copyarea, .fb_imageblit = cyber2000fb_imageblit, - .fb_cursor = soft_cursor, .fb_sync = cyber2000fb_sync, };
drivers/video/cyblafb.c +0 -1
@@ -968,7 +968,6 @@ static struct fb_ops cyblafb_ops __devin .fb_fillrect = cyblafb_fillrect, .fb_copyarea= cyblafb_copyarea, .fb_imageblit = cyblafb_imageblit, - .fb_cursor = soft_cursor, };//==========================================================================
drivers/video/dnfb.c +0 -1
@@ -114,7 +114,6 @@ static struct fb_ops dn_fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = dnfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };struct fb_var_screeninfo dnfb_var__devinitdata = {
drivers/video/epson1355fb.c +0 -1
@@ -482,7 +482,6 @@ static struct fb_ops epson1355fb_fbops = .fb_imageblit = cfb_imageblit, .fb_read = epson1355fb_read, .fb_write = epson1355fb_write, - .fb_cursor = soft_cursor, };/* ------------------------------------------------------------------------- */
drivers/video/ffb.c +0 -3
@@ -57,9 +57,6 @@ static struct fb_ops ffb_ops = { .fb_sync = ffb_sync, .fb_mmap = ffb_mmap, .fb_ioctl = ffb_ioctl, - -/* XXX Use FFB hw cursor once fb cursor API is better understood... */ - .fb_cursor = soft_cursor, };/* Register layout and definitions */
drivers/video/fm2fb.c +0 -1
@@ -172,7 +172,6 @@ static struct fb_ops fm2fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };/*
drivers/video/gbefb.c +0 -1
@@ -1038,7 +1038,6 @@ static struct fb_ops gbefb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };/*
drivers/video/geode/Kconfig +0 -1
@@ -14,7 +14,6 @@ config FB_GEODE_GX1 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_SOFT_CURSOR ---help--- Framebuffer driver for the display controller integrated into the AMD Geode GX1 processor.
drivers/video/geode/gx1fb_core.c +0 -1
@@ -275,7 +275,6 @@ static struct fb_ops gx1fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };static struct fb_info *__init gx1fb_init_fbinfo (struct device *dev)
drivers/video/hitfb.c +0 -1
@@ -262,7 +262,6 @@ static struct fb_ops hitfb_ops = { .fb_fillrect = hitfb_fillrect, .fb_copyarea = hitfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };int __init hitfb_init (void )
drivers/video/hpfb.c +0 -1
@@ -193,7 +193,6 @@ static struct fb_ops hpfb_ops = { .fb_fillrect = hpfb_fillrect, .fb_copyarea = hpfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, .fb_sync = hpfb_sync, };
drivers/video/imsttfb.c +0 -1
@@ -1344,7 +1344,6 @@ static struct fb_ops imsttfb_ops = { .fb_fillrect = imsttfb_fillrect, .fb_copyarea = imsttfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, .fb_ioctl = imsttfb_ioctl, };
drivers/video/imxfb.c +0 -1
@@ -298,7 +298,6 @@ static struct fb_ops imxfb_ops = { .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, .fb_blank = imxfb_blank, - .fb_cursor = soft_cursor, /* FIXME: i.MX can do hardware cursor */ };/*
drivers/video/intelfb/intelfbdrv.c +1 -1
@@ -1485,7 +1485,7 @@ intelfb_cursor(struct fb_info *info, str#endif if (!dinfo->hwcursor) -return soft_cursor (info, cursor); +return -ENODEV ;intelfbhw_cursor_hide (dinfo);
drivers/video/kyro/fbdev.c +0 -1
@@ -669,7 +669,6 @@ static struct fb_ops kyrofb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, }; static int __devinit kyrofb_probe(struct pci_dev *pdev,
drivers/video/leo.c +0 -1
@@ -51,7 +51,6 @@ static struct fb_ops leo_ops = { .fb_imageblit = cfb_imageblit, .fb_mmap = leo_mmap, .fb_ioctl = leo_ioctl, - .fb_cursor = soft_cursor, };#define LEO_OFF_LC_SS0_KRN 0x00200000UL
drivers/video/macfb.c +0 -1
@@ -589,7 +589,6 @@ static struct fb_ops macfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };void __init macfb_setup (char *options)
drivers/video/matrox/matroxfb_accel.c +1 -1
@@ -122,7 +122,7 @@ void matrox_cfbX_init(WPMINFO2) {ACCESS_FBINFO (fbops).fb_copyarea = cfb_copyarea;ACCESS_FBINFO (fbops).fb_fillrect = cfb_fillrect;ACCESS_FBINFO (fbops).fb_imageblit = cfb_imageblit; -ACCESS_FBINFO (fbops).fb_cursor = soft_cursor; +ACCESS_FBINFO (fbops).fb_cursor =NULL ; accel = (ACCESS_FBINFO (fbcon).var.accel_flags &FB_ACCELF_TEXT ) ==FB_ACCELF_TEXT ;
drivers/video/matrox/matroxfb_crtc2.c +0 -1
@@ -576,7 +576,6 @@ static struct fb_ops matroxfb_dh_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };static struct fb_var_screeninfo matroxfb_dh_defined = {
drivers/video/maxinefb.c +0 -1
@@ -113,7 +113,6 @@ static struct fb_ops maxinefb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };int __init maxinefb_init (void )
drivers/video/neofb.c +0 -1
@@ -1665,7 +1665,6 @@ static struct fb_ops neofb_ops = { .fb_fillrect = neofb_fillrect, .fb_copyarea = neofb_copyarea, .fb_imageblit = neofb_imageblit, - .fb_cursor = soft_cursor, };/* --------------------------------------------------------------------- */
drivers/video/nvidia/nvidia.c +1 -1
@@ -1425,7 +1425,7 @@ static int __devinit nvidia_set_fbinfo(s info->pixmap.flags =FB_PIXMAP_SYSTEM ;if (!hwcur) - info->fbops->fb_cursor = soft_cursor; + info->fbops->fb_cursor =NULL ; info->var.accel_flags = (!noaccel);
drivers/video/offb.c +0 -1
@@ -85,7 +85,6 @@ static struct fb_ops offb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };/*
drivers/video/p9100.c +0 -1
@@ -48,7 +48,6 @@ static struct fb_ops p9100_ops = { .fb_imageblit = cfb_imageblit, .fb_mmap = p9100_mmap, .fb_ioctl = p9100_ioctl, - .fb_cursor = soft_cursor, };/* P9100 control registers */
drivers/video/platinumfb.c +0 -1
@@ -109,7 +109,6 @@ static struct fb_ops platinumfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };/*
drivers/video/pm2fb.c +0 -1
@@ -1034,7 +1034,6 @@ static struct fb_ops pm2fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };/*
drivers/video/pmag-ba-fb.c +0 -1
@@ -128,7 +128,6 @@ static struct fb_ops pmagbafb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };
drivers/video/pmagb-b-fb.c +0 -1
@@ -132,7 +132,6 @@ static struct fb_ops pmagbbfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };
drivers/video/pvr2fb.c +0 -1
@@ -230,7 +230,6 @@ static struct fb_ops pvr2fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };static struct fb_videomode pvr2_modedb[]__initdata = {
drivers/video/pxafb.c +0 -1
@@ -418,7 +418,6 @@ static struct fb_ops pxafb_ops = { .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, .fb_blank = pxafb_blank, - .fb_cursor = soft_cursor, .fb_mmap = pxafb_mmap, };
drivers/video/q40fb.c +0 -1
@@ -83,7 +83,6 @@ static struct fb_ops q40fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };static int __init q40fb_probe (struct device *device)
drivers/video/radeonfb.c +0 -1
@@ -2218,7 +2218,6 @@ static struct fb_ops radeonfb_ops = { .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit,#endif - .fb_cursor = soft_cursor, };
drivers/video/s1d13xxxfb.c +0 -1
@@ -388,7 +388,6 @@ static struct fb_ops s1d13xxxfb_fbops = .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor };static int s1d13xxxfb_width_tab[2 ][4 ]__devinitdata = {
drivers/video/s3c2410fb.c +0 -1
@@ -494,7 +494,6 @@ static struct fb_ops s3c2410fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };
drivers/video/sa1100fb.c +0 -1
@@ -853,7 +853,6 @@ static struct fb_ops sa1100fb_ops = { .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, .fb_blank = sa1100fb_blank, - .fb_cursor = soft_cursor, .fb_mmap = sa1100fb_mmap, };
drivers/video/savage/savagefb_driver.c +0 -1
@@ -1470,7 +1470,6 @@ static struct fb_ops savagefb_ops = { .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit,#endif - .fb_cursor = soft_cursor, };/* --------------------------------------------------------------------- */
drivers/video/sgivwfb.c +0 -1
@@ -124,7 +124,6 @@ static struct fb_ops sgivwfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, .fb_mmap = sgivwfb_mmap, };
drivers/video/sis/sis_main.c +2 -0
@@ -2002,7 +2002,9 @@ static struct fb_ops sisfb_ops = { .fb_fillrect = fbcon_sis_fillrect, .fb_copyarea = fbcon_sis_copyarea, .fb_imageblit = cfb_imageblit, +#ifdef CONFIG_FB_SOFT_CURSOR .fb_cursor = soft_cursor, +#endif .fb_sync = fbcon_sis_sync, #ifdef SIS_NEW_CONFIG_COMPAT .fb_compat_ioctl= sisfb_compat_ioctl,
drivers/video/skeletonfb.c +3 -6
@@ -457,11 +457,8 @@ void xxxfb_imageblit(struct fb_info *p, }/** -* xxxfb_cursor - REQUIRED function. If your hardware lacks support -* for a cursor you can use the default cursor whose -* function is called soft_cursor. It will always -* work since it uses xxxfb_imageblit function which -* is required. +* xxxfb_cursor - OPTIONAL. If your hardware lacks support +* for a cursor, leave this field NULL. * * @info: frame buffer structure that represents a single frame buffer * @cursor: structure defining the cursor to draw.
@@ -663,7 +660,7 @@ static struct fb_ops xxxfb_ops = { .fb_fillrect = xxxfb_fillrect, /* Needed !!! */ .fb_copyarea = xxxfb_copyarea, /* Needed !!! */ .fb_imageblit = xxxfb_imageblit, /* Needed !!! */ - .fb_cursor = xxxfb_cursor, /* Needed !!! */ + .fb_cursor = xxxfb_cursor, /* Optional !!! */ .fb_rotate = xxxfb_rotate, .fb_poll = xxxfb_poll, .fb_sync = xxxfb_sync,
drivers/video/softcursor.c +0 -72
72 lines not on this page · raw message
drivers/video/sstfb.c +0 -1
@@ -1382,7 +1382,6 @@ static struct fb_ops sstfb_ops = { .fb_fillrect = cfb_fillrect, /* sstfb_fillrect */ .fb_copyarea = cfb_copyarea, /* sstfb_copyarea */ .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, .fb_ioctl = sstfb_ioctl, };
drivers/video/stifb.c +0 -1
@@ -1147,7 +1147,6 @@ static struct fb_ops stifb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };
drivers/video/tcx.c +0 -1
@@ -52,7 +52,6 @@ static struct fb_ops tcx_ops = { .fb_imageblit = cfb_imageblit, .fb_mmap = tcx_mmap, .fb_ioctl = tcx_ioctl, - .fb_cursor = soft_cursor, };/* THC definitions */
drivers/video/tdfxfb.c +0 -1
@@ -184,7 +184,6 @@ static struct fb_ops tdfxfb_ops = { .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit,#endif - .fb_cursor = soft_cursor, };/*
drivers/video/tgafb.c +0 -1
@@ -63,7 +63,6 @@ static struct fb_ops tgafb_ops = { .fb_fillrect = tgafb_fillrect, .fb_copyarea = tgafb_copyarea, .fb_imageblit = tgafb_imageblit, - .fb_cursor = soft_cursor, };
drivers/video/tridentfb.c +0 -1
@@ -1293,7 +1293,6 @@ static struct fb_ops tridentfb_ops = { .fb_fillrect = tridentfb_fillrect, .fb_copyarea= tridentfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };module_init (tridentfb_init);
drivers/video/tx3912fb.c +0 -1
@@ -89,7 +89,6 @@ static struct fb_ops tx3912fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };static int tx3912fb_check_var (struct fb_var_screeninfo *var,struct fb_info *info)
drivers/video/valkyriefb.c +0 -1
@@ -135,7 +135,6 @@ static struct fb_ops valkyriefb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };/* Sets the video mode according to info->var */
drivers/video/vesafb.c +0 -1
@@ -213,7 +213,6 @@ static struct fb_ops vesafb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };static int __init vesafb_setup (char *options)
drivers/video/vfb.c +0 -1
@@ -90,7 +90,6 @@ static struct fb_ops vfb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, .fb_mmap = vfb_mmap, };
drivers/video/vga16fb.c +0 -1
@@ -1326,7 +1326,6 @@ static struct fb_ops vga16fb_ops = { .fb_fillrect = vga16fb_fillrect, .fb_copyarea = vga16fb_copyarea, .fb_imageblit = vga16fb_imageblit, - .fb_cursor = soft_cursor, };#ifndef MODULE
drivers/video/w100fb.c +0 -1
@@ -397,7 +397,6 @@ static struct fb_ops w100fb_ops = { .fb_fillrect = cfb_fillrect, .fb_copyarea = cfb_copyarea, .fb_imageblit = cfb_imageblit, - .fb_cursor = soft_cursor, };#ifdef CONFIG_PM
include/linux/fb.h +0 -1
@@ -810,7 +810,6 @@ struct fb_info {extern int fb_set_var (struct fb_info *info,struct fb_var_screeninfo *var);extern int fb_pan_display (struct fb_info *info,struct fb_var_screeninfo *var);extern int fb_blank (struct fb_info *info,int blank); -extern int soft_cursor (struct fb_info *info,struct fb_cursor *cursor);extern void cfb_fillrect (struct fb_info *info,const struct fb_fillrect *rect);extern void cfb_copyarea (struct fb_info *info,const struct fb_copyarea *area);extern void cfb_imageblit (struct fb_info *info,const struct fb_image *image);
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl