From: "Luiz Fernando N. Capitulino" Fix this: drivers/video/tdfxfb.c:1005: warning: `tdfxfb_cursor' defined but not used and make the acceleration function selectable (like hgafb and tridentfb) --- 25-akpm/drivers/video/Kconfig | 8 ++++++++ 25-akpm/drivers/video/tdfxfb.c | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff -puN drivers/video/Kconfig~tdfxfbc-warning-fix drivers/video/Kconfig --- 25/drivers/video/Kconfig~tdfxfbc-warning-fix 2004-04-30 21:32:27.058760592 -0700 +++ 25-akpm/drivers/video/Kconfig 2004-04-30 21:32:27.064759680 -0700 @@ -766,6 +766,14 @@ config FB_3DFX To compile this driver as a module, choose M here: the module will be called tdfxfb. +config FB_3DFX_ACCEL + bool "3Dfx Banshee/Voodoo3 Acceleration functions (EXPERIMENTAL)" + depends on FB_3DFX && EXPERIMENTAL + ---help--- + This will compile the 3Dfx Banshee/Voodoo3 frame buffer device + with acceleration functions. + + config FB_VOODOO1 tristate "3Dfx Voodoo Graphics (sst1) support" depends on FB && PCI diff -puN drivers/video/tdfxfb.c~tdfxfbc-warning-fix drivers/video/tdfxfb.c --- 25/drivers/video/tdfxfb.c~tdfxfbc-warning-fix 2004-04-30 21:32:27.060760288 -0700 +++ 25-akpm/drivers/video/tdfxfb.c 2004-04-30 21:32:27.066759376 -0700 @@ -166,7 +166,11 @@ static int tdfxfb_pan_display(struct fb_ static void tdfxfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect); static void tdfxfb_copyarea(struct fb_info *info, const struct fb_copyarea *area); static void tdfxfb_imageblit(struct fb_info *info, const struct fb_image *image); +#ifdef CONFIG_FB_3DFX_ACCEL static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor); +#else /* !CONFIG_FB_3DFX_ACCEL */ +#define tdfxfb_cursor soft_cursor +#endif /* CONFIG_FB_3DFX_ACCEL */ static int banshee_wait_idle(struct fb_info *info); static struct fb_ops tdfxfb_ops = { @@ -180,7 +184,7 @@ static struct fb_ops tdfxfb_ops = { .fb_copyarea = tdfxfb_copyarea, .fb_imageblit = tdfxfb_imageblit, .fb_sync = banshee_wait_idle, - .fb_cursor = soft_cursor, + .fb_cursor = tdfxfb_cursor, }; /* @@ -1001,6 +1005,7 @@ static void tdfxfb_imageblit(struct fb_i banshee_wait_idle(info); } +#ifdef CONFIG_FB_3DFX_ACCEL static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor) { struct tdfx_par *par = (struct tdfx_par *) info->par; @@ -1137,6 +1142,7 @@ static int tdfxfb_cursor(struct fb_info spin_unlock_irqrestore(&par->DAClock, flags); return 0; } +#endif /* CONFIG_FB_3DFX_ACCEL */ /** * tdfxfb_probe - Device Initializiation _