[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:
Antonino A. Daplas 2005-11-07 01:00:35 -08:00 committed by Linus Torvalds
parent e764a20196
commit c465e05a03
75 changed files with 20 additions and 162 deletions

View File

@ -113,7 +113,6 @@ static struct fb_ops mc68x328fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
.fb_mmap = mc68x328fb_mmap, .fb_mmap = mc68x328fb_mmap,
}; };

View File

@ -65,15 +65,6 @@ config FB_CFB_IMAGEBLIT
blitting. This is used by drivers that don't provide their own blitting. This is used by drivers that don't provide their own
(accelerated) version. (accelerated) version.
config FB_SOFT_CURSOR
tristate
depends on FB
default n
---help---
Include the soft_cursor function for generic software cursor support.
This is used by drivers that don't provide their own (accelerated)
version.
config FB_MACMODES config FB_MACMODES
tristate tristate
depends on FB depends on FB
@ -114,7 +105,6 @@ config FB_CIRRUS
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
This enables support for Cirrus Logic GD542x/543x based boards on This enables support for Cirrus Logic GD542x/543x based boards on
Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum. Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum.
@ -133,7 +123,6 @@ config FB_PM2
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the Permedia2 AGP frame This is the frame buffer device driver for the Permedia2 AGP frame
buffer card from ASK, aka `Graphic Blaster Exxtreme'. There is a buffer card from ASK, aka `Graphic Blaster Exxtreme'. There is a
@ -152,7 +141,6 @@ config FB_ARMCLCD
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This framebuffer device driver is for the ARM PrimeCell PL110 This framebuffer device driver is for the ARM PrimeCell PL110
Colour LCD controller. ARM PrimeCells provide the building Colour LCD controller. ARM PrimeCells provide the building
@ -169,7 +157,6 @@ config FB_ACORN
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the Acorn VIDC graphics This is the frame buffer device driver for the Acorn VIDC graphics
hardware found in Acorn RISC PCs and other ARM-based machines. If hardware found in Acorn RISC PCs and other ARM-based machines. If
@ -181,7 +168,6 @@ config FB_CLPS711X
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Say Y to enable the Framebuffer driver for the CLPS7111 and Say Y to enable the Framebuffer driver for the CLPS7111 and
EP7212 processors. EP7212 processors.
@ -192,7 +178,6 @@ config FB_SA1100
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is a framebuffer device for the SA-1100 LCD Controller. This is a framebuffer device for the SA-1100 LCD Controller.
See <http://www.linux-fbdev.org/> for information on framebuffer See <http://www.linux-fbdev.org/> for information on framebuffer
@ -207,7 +192,6 @@ config FB_IMX
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
config FB_CYBER2000 config FB_CYBER2000
tristate "CyberPro 2000/2010/5000 support" tristate "CyberPro 2000/2010/5000 support"
@ -215,7 +199,6 @@ config FB_CYBER2000
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This enables support for the Integraphics CyberPro 20x0 and 5000 This enables support for the Integraphics CyberPro 20x0 and 5000
VGA chips used in the Rebel.com Netwinder and other machines. VGA chips used in the Rebel.com Netwinder and other machines.
@ -228,7 +211,6 @@ config FB_APOLLO
default y default y
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
config FB_Q40 config FB_Q40
bool bool
@ -237,12 +219,10 @@ config FB_Q40
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
config FB_AMIGA config FB_AMIGA
tristate "Amiga native chipset support" tristate "Amiga native chipset support"
depends on FB && AMIGA depends on FB && AMIGA
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the builtin graphics This is the frame buffer device driver for the builtin graphics
chipset found in Amigas. chipset found in Amigas.
@ -282,7 +262,6 @@ config FB_CYBER
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This enables support for the Cybervision 64 graphics card from This enables support for the Cybervision 64 graphics card from
Phase5. Please note that its use is not all that intuitive (i.e. if Phase5. Please note that its use is not all that intuitive (i.e. if
@ -297,7 +276,6 @@ config FB_VIRGE
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This enables support for the Cybervision 64/3D graphics card from This enables support for the Cybervision 64/3D graphics card from
Phase5. Please note that its use is not all that intuitive (i.e. if Phase5. Please note that its use is not all that intuitive (i.e. if
@ -320,7 +298,6 @@ config FB_FM2
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the Amiga FrameMaster This is the frame buffer device driver for the Amiga FrameMaster
card from BSC (exhibited 1992 but not shipped as a CBM product). card from BSC (exhibited 1992 but not shipped as a CBM product).
@ -331,7 +308,6 @@ config FB_ARC
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This enables support for the Arc Monochrome LCD board. The board This enables support for the Arc Monochrome LCD board. The board
is based on the KS-108 lcd controller and is typically a matrix is based on the KS-108 lcd controller and is typically a matrix
@ -354,7 +330,6 @@ config FB_OF
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES select FB_MACMODES
help help
Say Y if you want support with Open Firmware for your graphics Say Y if you want support with Open Firmware for your graphics
@ -366,7 +341,6 @@ config FB_CONTROL
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES select FB_MACMODES
help help
This driver supports a frame buffer for the graphics adapter in the This driver supports a frame buffer for the graphics adapter in the
@ -378,7 +352,6 @@ config FB_PLATINUM
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES select FB_MACMODES
help help
This driver supports a frame buffer for the "platinum" graphics This driver supports a frame buffer for the "platinum" graphics
@ -390,7 +363,6 @@ config FB_VALKYRIE
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES select FB_MACMODES
help help
This driver supports a frame buffer for the "valkyrie" graphics This driver supports a frame buffer for the "valkyrie" graphics
@ -402,7 +374,6 @@ config FB_CT65550
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the Chips & Technologies This is the frame buffer device driver for the Chips & Technologies
65550 graphics chip in PowerBooks. 65550 graphics chip in PowerBooks.
@ -413,13 +384,11 @@ config FB_ASILIANT
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
config FB_IMSTT config FB_IMSTT
bool "IMS Twin Turbo display support" bool "IMS Twin Turbo display support"
depends on (FB = y) && PCI depends on (FB = y) && PCI
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES if PPC select FB_MACMODES if PPC
help help
The IMS Twin Turbo is a PCI-based frame buffer card bundled with The IMS Twin Turbo is a PCI-based frame buffer card bundled with
@ -431,7 +400,6 @@ config FB_VGA16
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for VGA 16 color graphic This is the frame buffer device driver for VGA 16 color graphic
cards. Say Y if you have such a card. cards. Say Y if you have such a card.
@ -445,7 +413,6 @@ config FB_STI
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
default y default y
---help--- ---help---
STI refers to the HP "Standard Text Interface" which is a set of STI refers to the HP "Standard Text Interface" which is a set of
@ -466,7 +433,6 @@ config FB_MAC
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES select FB_MACMODES
# bool ' Apple DAFB display support' CONFIG_FB_DAFB # bool ' Apple DAFB display support' CONFIG_FB_DAFB
@ -475,7 +441,6 @@ config FB_HP300
depends on (FB = y) && HP300 depends on (FB = y) && HP300
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
default y default y
config FB_TGA config FB_TGA
@ -484,7 +449,6 @@ config FB_TGA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for generic TGA graphic This is the frame buffer device driver for generic TGA graphic
cards. Say Y if you have one of those. cards. Say Y if you have one of those.
@ -495,7 +459,6 @@ config FB_VESA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for generic VESA 2.0 This is the frame buffer device driver for generic VESA 2.0
compliant graphic cards. The older VESA 1.2 cards are not supported. compliant graphic cards. The older VESA 1.2 cards are not supported.
@ -513,7 +476,6 @@ config FB_HGA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Say Y here if you have a Hercules mono graphics card. Say Y here if you have a Hercules mono graphics card.
@ -542,7 +504,6 @@ config FB_SGIVW
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
SGI Visual Workstation support for framebuffer graphics. SGI Visual Workstation support for framebuffer graphics.
@ -552,7 +513,6 @@ config FB_GBE
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for SGI Graphics Backend. This is the frame buffer device driver for SGI Graphics Backend.
This chip is used in SGI O2 and Visual Workstation 320/540. This chip is used in SGI O2 and Visual Workstation 320/540.
@ -580,7 +540,6 @@ config FB_BW2
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the BWtwo frame buffer. This is the frame buffer device driver for the BWtwo frame buffer.
@ -589,7 +548,6 @@ config FB_CG3
depends on (FB = y) && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3) depends on (FB = y) && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the CGthree frame buffer. This is the frame buffer device driver for the CGthree frame buffer.
@ -598,7 +556,6 @@ config FB_CG6
depends on (FB = y) && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3) depends on (FB = y) && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the CGsix (GX, TurboGX) This is the frame buffer device driver for the CGsix (GX, TurboGX)
frame buffer. frame buffer.
@ -609,7 +566,6 @@ config FB_PVR2
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
Say Y here if you have a PowerVR 2 card in your box. If you plan to Say Y here if you have a PowerVR 2 card in your box. If you plan to
run linux on your Dreamcast, you will have to say Y here. run linux on your Dreamcast, you will have to say Y here.
@ -631,7 +587,6 @@ config FB_EPSON1355
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Build in support for the SED1355 Epson Research Embedded RAMDAC Build in support for the SED1355 Epson Research Embedded RAMDAC
LCD/CRT Controller (since redesignated as the S1D13505) as a LCD/CRT Controller (since redesignated as the S1D13505) as a
@ -676,7 +631,6 @@ config FB_S1D13XXX
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Support for S1D13XXX framebuffer device family (currently only Support for S1D13XXX framebuffer device family (currently only
working with S1D13806). Product specs at working with S1D13806). Product specs at
@ -691,7 +645,6 @@ config FB_NVIDIA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This driver supports graphics boards with the nVidia chips, TNT This driver supports graphics boards with the nVidia chips, TNT
and newer. For very old chipsets, such as the RIVA128, then use and newer. For very old chipsets, such as the RIVA128, then use
@ -809,7 +762,6 @@ config FB_INTEL
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This driver supports the on-board graphics built in to the Intel This driver supports the on-board graphics built in to the Intel
830M/845G/852GM/855GM/865G chipsets. 830M/845G/852GM/855GM/865G chipsets.
@ -832,7 +784,6 @@ config FB_MATROX
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_TILEBLITTING select FB_TILEBLITTING
select FB_MACMODES if PPC_PMAC select FB_MACMODES if PPC_PMAC
---help--- ---help---
@ -973,7 +924,6 @@ config FB_RADEON_OLD
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES if PPC select FB_MACMODES if PPC
help help
Choose this option if you want to use an ATI Radeon graphics card as Choose this option if you want to use an ATI Radeon graphics card as
@ -991,7 +941,6 @@ config FB_RADEON
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES if PPC_OF select FB_MACMODES if PPC_OF
help help
Choose this option if you want to use an ATI Radeon graphics card as Choose this option if you want to use an ATI Radeon graphics card as
@ -1029,7 +978,6 @@ config FB_ATY128
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES if PPC_PMAC select FB_MACMODES if PPC_PMAC
help help
This driver supports graphics boards with the ATI Rage128 chips. This driver supports graphics boards with the ATI Rage128 chips.
@ -1045,7 +993,6 @@ config FB_ATY
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select FB_MACMODES if PPC select FB_MACMODES if PPC
help help
This driver supports graphics boards with the ATI Mach64 chips. This driver supports graphics boards with the ATI Mach64 chips.
@ -1103,7 +1050,6 @@ config FB_SAVAGE
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This driver supports notebooks and computers with S3 Savage PCI/AGP This driver supports notebooks and computers with S3 Savage PCI/AGP
chips. chips.
@ -1140,7 +1086,6 @@ config FB_SIS
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the SiS 300, 315, 330 This is the frame buffer device driver for the SiS 300, 315, 330
and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets. and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
@ -1170,7 +1115,6 @@ config FB_NEOMAGIC
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This driver supports notebooks with NeoMagic PCI chips. This driver supports notebooks with NeoMagic PCI chips.
Say Y if you have such a graphics card. Say Y if you have such a graphics card.
@ -1184,7 +1128,6 @@ config FB_KYRO
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Say Y here if you have a STG4000 / Kyro / PowerVR 3 based Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
graphics board. graphics board.
@ -1198,7 +1141,6 @@ config FB_3DFX
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_SOFT_CURSOR
help help
This driver supports graphics boards with the 3Dfx Banshee/Voodoo3 This driver supports graphics boards with the 3Dfx Banshee/Voodoo3
chips. Say Y if you have such a graphics board. chips. Say Y if you have such a graphics board.
@ -1220,7 +1162,6 @@ config FB_VOODOO1
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
Voodoo2 (cvg) based graphics card. Voodoo2 (cvg) based graphics card.
@ -1237,7 +1178,6 @@ config FB_CYBLA
tristate "Cyberblade/i1 support" tristate "Cyberblade/i1 support"
depends on FB && PCI depends on FB && PCI
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
select VIDEO_SELECT select VIDEO_SELECT
---help--- ---help---
This driver is supposed to support the Trident Cyberblade/i1 This driver is supposed to support the Trident Cyberblade/i1
@ -1265,7 +1205,6 @@ config FB_TRIDENT
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
This driver is supposed to support graphics boards with the This driver is supposed to support graphics boards with the
Trident CyberXXXX/Image/CyberBlade chips mostly found in laptops Trident CyberXXXX/Image/CyberBlade chips mostly found in laptops
@ -1314,7 +1253,6 @@ config FB_FFB
depends on FB_SBUS && SPARC64 depends on FB_SBUS && SPARC64
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the Creator, Creator3D, This is the frame buffer device driver for the Creator, Creator3D,
and Elite3D graphics boards. and Elite3D graphics boards.
@ -1325,7 +1263,6 @@ config FB_TCX
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the TCX 24/8bit frame This is the frame buffer device driver for the TCX 24/8bit frame
buffer. buffer.
@ -1336,7 +1273,6 @@ config FB_CG14
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the CGfourteen frame This is the frame buffer device driver for the CGfourteen frame
buffer on Desktop SPARCsystems with the SX graphics option. buffer on Desktop SPARCsystems with the SX graphics option.
@ -1347,7 +1283,6 @@ config FB_P9100
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the P9100 card This is the frame buffer device driver for the P9100 card
supported on Sparcbook 3 machines. supported on Sparcbook 3 machines.
@ -1358,7 +1293,6 @@ config FB_LEO
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the SBUS-based Sun ZX This is the frame buffer device driver for the SBUS-based Sun ZX
(leo) frame buffer cards. (leo) frame buffer cards.
@ -1373,7 +1307,6 @@ config FB_IGA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the framebuffer device for the INTERGRAPHICS 1680 and This is the framebuffer device for the INTERGRAPHICS 1680 and
successor frame buffer cards. successor frame buffer cards.
@ -1384,7 +1317,6 @@ config FB_HIT
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
This is the frame buffer device driver for the Hitachi HD64461 LCD This is the frame buffer device driver for the Hitachi HD64461 LCD
frame buffer card. frame buffer card.
@ -1395,7 +1327,6 @@ config FB_PMAG_AA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1) Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
used mainly in the MIPS-based DECstation series. used mainly in the MIPS-based DECstation series.
@ -1406,7 +1337,6 @@ config FB_PMAG_BA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8) Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
used mainly in the MIPS-based DECstation series. used mainly in the MIPS-based DECstation series.
@ -1417,7 +1347,6 @@ config FB_PMAGB_B
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Support for the PMAGB-B TURBOchannel framebuffer card used mainly Support for the PMAGB-B TURBOchannel framebuffer card used mainly
in the MIPS-based DECstation series. The card is currently only in the MIPS-based DECstation series. The card is currently only
@ -1429,7 +1358,6 @@ config FB_MAXINE
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Support for the onboard framebuffer (1024x768x8) in the Personal Support for the onboard framebuffer (1024x768x8) in the Personal
DECstation series (Personal DECstation 5000/20, /25, /33, /50, DECstation series (Personal DECstation 5000/20, /25, /33, /50,
@ -1441,7 +1369,6 @@ config FB_TX3912
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
The TX3912 is a Toshiba RISC processor based on the MIPS 3900 core The TX3912 is a Toshiba RISC processor based on the MIPS 3900 core
see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>. see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
@ -1454,7 +1381,6 @@ config FB_G364
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
The G364 driver is the framebuffer used in MIPS Magnum 4000 and The G364 driver is the framebuffer used in MIPS Magnum 4000 and
Olivetti M700-10 systems. Olivetti M700-10 systems.
@ -1465,7 +1391,6 @@ config FB_68328
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
help help
Say Y here if you want to support the built-in frame buffer of Say Y here if you want to support the built-in frame buffer of
the Motorola 68328 CPU family. the Motorola 68328 CPU family.
@ -1476,7 +1401,6 @@ config FB_PXA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
Frame buffer driver for the built-in LCD controller in the Intel Frame buffer driver for the built-in LCD controller in the Intel
PXA2x0 processor. PXA2x0 processor.
@ -1511,7 +1435,6 @@ config FB_W100
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
Frame buffer driver for the w100 as found on the Sharp SL-Cxx series. Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
@ -1528,7 +1451,6 @@ config FB_S3C2410
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
Frame buffer driver for the built-in LCD controller in the Samsung Frame buffer driver for the built-in LCD controller in the Samsung
S3C2410 processor. S3C2410 processor.
@ -1552,7 +1474,6 @@ config FB_VIRTUAL
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
This is a `virtual' frame buffer device. It operates on a chunk of This is a `virtual' frame buffer device. It operates on a chunk of
unswappable kernel memory instead of on the memory of a graphics unswappable kernel memory instead of on the memory of a graphics

View File

@ -16,7 +16,6 @@ fb-objs := $(fb-y)
obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o
obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o
obj-$(CONFIG_FB_CFB_IMAGEBLIT) += cfbimgblt.o obj-$(CONFIG_FB_CFB_IMAGEBLIT) += cfbimgblt.o
obj-$(CONFIG_FB_SOFT_CURSOR) += softcursor.o
obj-$(CONFIG_FB_MACMODES) += macmodes.o obj-$(CONFIG_FB_MACMODES) += macmodes.o
# Hardware specific drivers go first # Hardware specific drivers go first

View File

@ -926,7 +926,6 @@ static struct fb_ops acornfb_ops = {
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_mmap = acornfb_mmap, .fb_mmap = acornfb_mmap,
.fb_cursor = soft_cursor,
}; };
/* /*

View File

@ -333,7 +333,6 @@ static struct fb_ops clcdfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
.fb_mmap = clcdfb_mmap, .fb_mmap = clcdfb_mmap,
}; };

View File

@ -1185,7 +1185,6 @@ static struct fb_ops amifb_ops = {
.fb_fillrect = amifb_fillrect, .fb_fillrect = amifb_fillrect,
.fb_copyarea = amifb_copyarea, .fb_copyarea = amifb_copyarea,
.fb_imageblit = amifb_imageblit, .fb_imageblit = amifb_imageblit,
.fb_cursor = soft_cursor,
.fb_ioctl = amifb_ioctl, .fb_ioctl = amifb_ioctl,
}; };

View File

@ -511,7 +511,6 @@ static struct fb_ops arcfb_ops = {
.fb_fillrect = arcfb_fillrect, .fb_fillrect = arcfb_fillrect,
.fb_copyarea = arcfb_copyarea, .fb_copyarea = arcfb_copyarea,
.fb_imageblit = arcfb_imageblit, .fb_imageblit = arcfb_imageblit,
.fb_cursor = soft_cursor,
.fb_ioctl = arcfb_ioctl, .fb_ioctl = arcfb_ioctl,
}; };

View File

@ -106,7 +106,6 @@ static struct fb_ops asiliantfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
/* Calculate the ratios for the dot clocks without using a single long long /* Calculate the ratios for the dot clocks without using a single long long

View File

@ -478,7 +478,6 @@ static struct fb_ops aty128fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
#ifdef CONFIG_PMAC_BACKLIGHT #ifdef CONFIG_PMAC_BACKLIGHT

View File

@ -292,7 +292,6 @@ static struct fb_ops atyfb_ops = {
.fb_fillrect = atyfb_fillrect, .fb_fillrect = atyfb_fillrect,
.fb_copyarea = atyfb_copyarea, .fb_copyarea = atyfb_copyarea,
.fb_imageblit = atyfb_imageblit, .fb_imageblit = atyfb_imageblit,
.fb_cursor = soft_cursor,
#ifdef __sparc__ #ifdef __sparc__
.fb_mmap = atyfb_mmap, .fb_mmap = atyfb_mmap,
#endif #endif

View File

@ -1873,7 +1873,6 @@ static struct fb_ops radeonfb_ops = {
.fb_fillrect = radeonfb_fillrect, .fb_fillrect = radeonfb_fillrect,
.fb_copyarea = radeonfb_copyarea, .fb_copyarea = radeonfb_copyarea,
.fb_imageblit = radeonfb_imageblit, .fb_imageblit = radeonfb_imageblit,
.fb_cursor = soft_cursor,
}; };

View File

@ -51,7 +51,6 @@ static struct fb_ops bw2_ops = {
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_mmap = bw2_mmap, .fb_mmap = bw2_mmap,
.fb_ioctl = bw2_ioctl, .fb_ioctl = bw2_ioctl,
.fb_cursor = soft_cursor,
}; };
/* OBio addresses for the bwtwo registers */ /* OBio addresses for the bwtwo registers */

View File

@ -49,7 +49,6 @@ static struct fb_ops cg14_ops = {
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_mmap = cg14_mmap, .fb_mmap = cg14_mmap,
.fb_ioctl = cg14_ioctl, .fb_ioctl = cg14_ioctl,
.fb_cursor = soft_cursor,
}; };
#define CG14_MCR_INTENABLE_SHIFT 7 #define CG14_MCR_INTENABLE_SHIFT 7

View File

@ -50,7 +50,6 @@ static struct fb_ops cg3_ops = {
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_mmap = cg3_mmap, .fb_mmap = cg3_mmap,
.fb_ioctl = cg3_ioctl, .fb_ioctl = cg3_ioctl,
.fb_cursor = soft_cursor,
}; };

View File

@ -54,7 +54,6 @@ static struct fb_ops cg6_ops = {
.fb_sync = cg6_sync, .fb_sync = cg6_sync,
.fb_mmap = cg6_mmap, .fb_mmap = cg6_mmap,
.fb_ioctl = cg6_ioctl, .fb_ioctl = cg6_ioctl,
.fb_cursor = soft_cursor,
}; };
/* Offset of interesting structures in the OBIO space */ /* Offset of interesting structures in the OBIO space */

View File

@ -91,7 +91,6 @@ static struct fb_ops chipsfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static int chipsfb_check_var(struct fb_var_screeninfo *var, static int chipsfb_check_var(struct fb_var_screeninfo *var,

View File

@ -548,7 +548,6 @@ static struct fb_ops cirrusfb_ops = {
.fb_fillrect = cirrusfb_fillrect, .fb_fillrect = cirrusfb_fillrect,
.fb_copyarea = cirrusfb_copyarea, .fb_copyarea = cirrusfb_copyarea,
.fb_imageblit = cirrusfb_imageblit, .fb_imageblit = cirrusfb_imageblit,
.fb_cursor = soft_cursor,
}; };
/*--- Hardware Specific Routines -------------------------------------------*/ /*--- Hardware Specific Routines -------------------------------------------*/

View File

@ -219,7 +219,6 @@ static struct fb_ops clps7111fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static int static int

View File

@ -26,7 +26,7 @@ obj-$(CONFIG_PROM_CONSOLE) += promcon.o promcon_tbl.o
obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o obj-$(CONFIG_STI_CONSOLE) += sticon.o sticore.o font.o
obj-$(CONFIG_VGA_CONSOLE) += vgacon.o obj-$(CONFIG_VGA_CONSOLE) += vgacon.o
obj-$(CONFIG_MDA_CONSOLE) += mdacon.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) ifeq ($(CONFIG_FB_TILEBLITTING),y)
obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += tileblit.o
endif endif

View File

@ -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 w = (vc->vc_font.width + 7) >> 3, c;
int y = real_y(p, vc->vc_y); int y = real_y(p, vc->vc_y);
int attribute, use_sw = (vc->vc_cursor_type & 0x10); int attribute, use_sw = (vc->vc_cursor_type & 0x10);
int err = 1;
char *src; char *src;
cursor.set = 0; cursor.set = 0;
@ -408,7 +409,11 @@ static void bit_cursor(struct vc_data *vc, struct fb_info *info,
cursor.image.depth = 1; cursor.image.depth = 1;
cursor.rop = ROP_XOR; 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; ops->cursor_reset = 0;
} }

View File

@ -167,5 +167,5 @@ extern void fbcon_set_tileops(struct vc_data *vc, struct fb_info *info,
struct display *p, struct fbcon_ops *ops); struct display *p, struct fbcon_ops *ops);
#endif #endif
extern void fbcon_set_bitops(struct fbcon_ops *ops); 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 */ #endif /* _VIDEO_FBCON_H */

View File

@ -1,7 +1,7 @@
/* /*
* linux/drivers/video/softcursor.c -- Generic software cursor for frame buffer devices * linux/drivers/video/softcursor.c -- Generic software cursor for frame buffer devices
* *
* Created 14 Nov 2002 by James Simmons * Created 14 Nov 2002 by James Simmons
* *
* This file is subject to the terms and conditions of the GNU General Public * This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of this archive * License. See the file COPYING in the main directory of this archive
@ -55,9 +55,9 @@ int soft_cursor(struct fb_info *info, struct fb_cursor *cursor)
src[i] = image->data[i] & cursor->mask[i]; src[i] = image->data[i] & cursor->mask[i];
break; break;
} }
} else } else
memcpy(src, image->data, dsize); memcpy(src, image->data, dsize);
fb_pad_aligned_buffer(dst, d_pitch, src, s_pitch, image->height); fb_pad_aligned_buffer(dst, d_pitch, src, s_pitch, image->height);
image->data = dst; image->data = dst;
info->fbops->fb_imageblit(info, image); info->fbops->fb_imageblit(info, image);
@ -66,7 +66,7 @@ int soft_cursor(struct fb_info *info, struct fb_cursor *cursor)
} }
EXPORT_SYMBOL(soft_cursor); EXPORT_SYMBOL(soft_cursor);
MODULE_AUTHOR("James Simmons <jsimmons@users.sf.net>"); MODULE_AUTHOR("James Simmons <jsimmons@users.sf.net>");
MODULE_DESCRIPTION("Generic software cursor"); MODULE_DESCRIPTION("Generic software cursor");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");

View File

@ -176,7 +176,6 @@ static struct fb_ops controlfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };

View File

@ -1064,7 +1064,6 @@ static struct fb_ops cyber2000fb_ops = {
.fb_fillrect = cyber2000fb_fillrect, .fb_fillrect = cyber2000fb_fillrect,
.fb_copyarea = cyber2000fb_copyarea, .fb_copyarea = cyber2000fb_copyarea,
.fb_imageblit = cyber2000fb_imageblit, .fb_imageblit = cyber2000fb_imageblit,
.fb_cursor = soft_cursor,
.fb_sync = cyber2000fb_sync, .fb_sync = cyber2000fb_sync,
}; };

View File

@ -968,7 +968,6 @@ static struct fb_ops cyblafb_ops __devinitdata = {
.fb_fillrect = cyblafb_fillrect, .fb_fillrect = cyblafb_fillrect,
.fb_copyarea= cyblafb_copyarea, .fb_copyarea= cyblafb_copyarea,
.fb_imageblit = cyblafb_imageblit, .fb_imageblit = cyblafb_imageblit,
.fb_cursor = soft_cursor,
}; };
//========================================================================== //==========================================================================

View File

@ -116,7 +116,6 @@ static struct fb_ops dn_fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = dnfb_copyarea, .fb_copyarea = dnfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
struct fb_var_screeninfo dnfb_var __devinitdata = { struct fb_var_screeninfo dnfb_var __devinitdata = {

View File

@ -484,7 +484,6 @@ static struct fb_ops epson1355fb_fbops = {
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_read = epson1355fb_read, .fb_read = epson1355fb_read,
.fb_write = epson1355fb_write, .fb_write = epson1355fb_write,
.fb_cursor = soft_cursor,
}; };
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */

View File

@ -57,9 +57,6 @@ static struct fb_ops ffb_ops = {
.fb_sync = ffb_sync, .fb_sync = ffb_sync,
.fb_mmap = ffb_mmap, .fb_mmap = ffb_mmap,
.fb_ioctl = ffb_ioctl, .fb_ioctl = ffb_ioctl,
/* XXX Use FFB hw cursor once fb cursor API is better understood... */
.fb_cursor = soft_cursor,
}; };
/* Register layout and definitions */ /* Register layout and definitions */

View File

@ -172,7 +172,6 @@ static struct fb_ops fm2fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
/* /*

View File

@ -1038,7 +1038,6 @@ static struct fb_ops gbefb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
/* /*

View File

@ -14,7 +14,6 @@ config FB_GEODE_GX1
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_SOFT_CURSOR
---help--- ---help---
Framebuffer driver for the display controller integrated into the Framebuffer driver for the display controller integrated into the
AMD Geode GX1 processor. AMD Geode GX1 processor.

View File

@ -275,7 +275,6 @@ static struct fb_ops gx1fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static struct fb_info * __init gx1fb_init_fbinfo(struct device *dev) static struct fb_info * __init gx1fb_init_fbinfo(struct device *dev)

View File

@ -262,7 +262,6 @@ static struct fb_ops hitfb_ops = {
.fb_fillrect = hitfb_fillrect, .fb_fillrect = hitfb_fillrect,
.fb_copyarea = hitfb_copyarea, .fb_copyarea = hitfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
int __init hitfb_init(void) int __init hitfb_init(void)

View File

@ -193,7 +193,6 @@ static struct fb_ops hpfb_ops = {
.fb_fillrect = hpfb_fillrect, .fb_fillrect = hpfb_fillrect,
.fb_copyarea = hpfb_copyarea, .fb_copyarea = hpfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
.fb_sync = hpfb_sync, .fb_sync = hpfb_sync,
}; };

View File

@ -1344,7 +1344,6 @@ static struct fb_ops imsttfb_ops = {
.fb_fillrect = imsttfb_fillrect, .fb_fillrect = imsttfb_fillrect,
.fb_copyarea = imsttfb_copyarea, .fb_copyarea = imsttfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
.fb_ioctl = imsttfb_ioctl, .fb_ioctl = imsttfb_ioctl,
}; };

View File

@ -298,7 +298,6 @@ static struct fb_ops imxfb_ops = {
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_blank = imxfb_blank, .fb_blank = imxfb_blank,
.fb_cursor = soft_cursor, /* FIXME: i.MX can do hardware cursor */
}; };
/* /*

View File

@ -1485,7 +1485,7 @@ intelfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
#endif #endif
if (!dinfo->hwcursor) if (!dinfo->hwcursor)
return soft_cursor(info, cursor); return -ENODEV;
intelfbhw_cursor_hide(dinfo); intelfbhw_cursor_hide(dinfo);

View File

@ -669,7 +669,6 @@ static struct fb_ops kyrofb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static int __devinit kyrofb_probe(struct pci_dev *pdev, static int __devinit kyrofb_probe(struct pci_dev *pdev,

View File

@ -51,7 +51,6 @@ static struct fb_ops leo_ops = {
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_mmap = leo_mmap, .fb_mmap = leo_mmap,
.fb_ioctl = leo_ioctl, .fb_ioctl = leo_ioctl,
.fb_cursor = soft_cursor,
}; };
#define LEO_OFF_LC_SS0_KRN 0x00200000UL #define LEO_OFF_LC_SS0_KRN 0x00200000UL

View File

@ -589,7 +589,6 @@ static struct fb_ops macfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
void __init macfb_setup(char *options) void __init macfb_setup(char *options)

View File

@ -122,7 +122,7 @@ void matrox_cfbX_init(WPMINFO2) {
ACCESS_FBINFO(fbops).fb_copyarea = cfb_copyarea; ACCESS_FBINFO(fbops).fb_copyarea = cfb_copyarea;
ACCESS_FBINFO(fbops).fb_fillrect = cfb_fillrect; ACCESS_FBINFO(fbops).fb_fillrect = cfb_fillrect;
ACCESS_FBINFO(fbops).fb_imageblit = cfb_imageblit; 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; accel = (ACCESS_FBINFO(fbcon).var.accel_flags & FB_ACCELF_TEXT) == FB_ACCELF_TEXT;

View File

@ -576,7 +576,6 @@ static struct fb_ops matroxfb_dh_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static struct fb_var_screeninfo matroxfb_dh_defined = { static struct fb_var_screeninfo matroxfb_dh_defined = {

View File

@ -113,7 +113,6 @@ static struct fb_ops maxinefb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
int __init maxinefb_init(void) int __init maxinefb_init(void)

View File

@ -1665,7 +1665,6 @@ static struct fb_ops neofb_ops = {
.fb_fillrect = neofb_fillrect, .fb_fillrect = neofb_fillrect,
.fb_copyarea = neofb_copyarea, .fb_copyarea = neofb_copyarea,
.fb_imageblit = neofb_imageblit, .fb_imageblit = neofb_imageblit,
.fb_cursor = soft_cursor,
}; };
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */

View File

@ -1433,7 +1433,7 @@ static int __devinit nvidia_set_fbinfo(struct fb_info *info)
info->pixmap.flags = FB_PIXMAP_SYSTEM; info->pixmap.flags = FB_PIXMAP_SYSTEM;
if (!hwcur) if (!hwcur)
info->fbops->fb_cursor = soft_cursor; info->fbops->fb_cursor = NULL;
info->var.accel_flags = (!noaccel); info->var.accel_flags = (!noaccel);

View File

@ -85,7 +85,6 @@ static struct fb_ops offb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
/* /*

View File

@ -48,7 +48,6 @@ static struct fb_ops p9100_ops = {
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_mmap = p9100_mmap, .fb_mmap = p9100_mmap,
.fb_ioctl = p9100_ioctl, .fb_ioctl = p9100_ioctl,
.fb_cursor = soft_cursor,
}; };
/* P9100 control registers */ /* P9100 control registers */

View File

@ -109,7 +109,6 @@ static struct fb_ops platinumfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
/* /*

View File

@ -1034,7 +1034,6 @@ static struct fb_ops pm2fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
/* /*

View File

@ -128,7 +128,6 @@ static struct fb_ops pmagbafb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };

View File

@ -132,7 +132,6 @@ static struct fb_ops pmagbbfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };

View File

@ -230,7 +230,6 @@ static struct fb_ops pvr2fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static struct fb_videomode pvr2_modedb[] __initdata = { static struct fb_videomode pvr2_modedb[] __initdata = {

View File

@ -418,7 +418,6 @@ static struct fb_ops pxafb_ops = {
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_blank = pxafb_blank, .fb_blank = pxafb_blank,
.fb_cursor = soft_cursor,
.fb_mmap = pxafb_mmap, .fb_mmap = pxafb_mmap,
}; };

View File

@ -84,7 +84,6 @@ static struct fb_ops q40fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static int __init q40fb_probe(struct device *device) static int __init q40fb_probe(struct device *device)

View File

@ -2218,7 +2218,6 @@ static struct fb_ops radeonfb_ops = {
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
#endif #endif
.fb_cursor = soft_cursor,
}; };

View File

@ -388,7 +388,6 @@ static struct fb_ops s1d13xxxfb_fbops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor
}; };
static int s1d13xxxfb_width_tab[2][4] __devinitdata = { static int s1d13xxxfb_width_tab[2][4] __devinitdata = {

View File

@ -495,7 +495,6 @@ static struct fb_ops s3c2410fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };

View File

@ -853,7 +853,6 @@ static struct fb_ops sa1100fb_ops = {
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_blank = sa1100fb_blank, .fb_blank = sa1100fb_blank,
.fb_cursor = soft_cursor,
.fb_mmap = sa1100fb_mmap, .fb_mmap = sa1100fb_mmap,
}; };

View File

@ -1470,7 +1470,6 @@ static struct fb_ops savagefb_ops = {
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
#endif #endif
.fb_cursor = soft_cursor,
}; };
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */

View File

@ -126,7 +126,6 @@ static struct fb_ops sgivwfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
.fb_mmap = sgivwfb_mmap, .fb_mmap = sgivwfb_mmap,
}; };

View File

@ -2002,7 +2002,9 @@ static struct fb_ops sisfb_ops = {
.fb_fillrect = fbcon_sis_fillrect, .fb_fillrect = fbcon_sis_fillrect,
.fb_copyarea = fbcon_sis_copyarea, .fb_copyarea = fbcon_sis_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
#ifdef CONFIG_FB_SOFT_CURSOR
.fb_cursor = soft_cursor, .fb_cursor = soft_cursor,
#endif
.fb_sync = fbcon_sis_sync, .fb_sync = fbcon_sis_sync,
#ifdef SIS_NEW_CONFIG_COMPAT #ifdef SIS_NEW_CONFIG_COMPAT
.fb_compat_ioctl= sisfb_compat_ioctl, .fb_compat_ioctl= sisfb_compat_ioctl,

View File

@ -457,11 +457,8 @@ void xxxfb_imageblit(struct fb_info *p, const struct fb_image *image)
} }
/** /**
* xxxfb_cursor - REQUIRED function. If your hardware lacks support * xxxfb_cursor - OPTIONAL. If your hardware lacks support
* for a cursor you can use the default cursor whose * for a cursor, leave this field NULL.
* function is called soft_cursor. It will always
* work since it uses xxxfb_imageblit function which
* is required.
* *
* @info: frame buffer structure that represents a single frame buffer * @info: frame buffer structure that represents a single frame buffer
* @cursor: structure defining the cursor to draw. * @cursor: structure defining the cursor to draw.
@ -663,7 +660,7 @@ static struct fb_ops xxxfb_ops = {
.fb_fillrect = xxxfb_fillrect, /* Needed !!! */ .fb_fillrect = xxxfb_fillrect, /* Needed !!! */
.fb_copyarea = xxxfb_copyarea, /* Needed !!! */ .fb_copyarea = xxxfb_copyarea, /* Needed !!! */
.fb_imageblit = xxxfb_imageblit, /* Needed !!! */ .fb_imageblit = xxxfb_imageblit, /* Needed !!! */
.fb_cursor = xxxfb_cursor, /* Needed !!! */ .fb_cursor = xxxfb_cursor, /* Optional !!! */
.fb_rotate = xxxfb_rotate, .fb_rotate = xxxfb_rotate,
.fb_poll = xxxfb_poll, .fb_poll = xxxfb_poll,
.fb_sync = xxxfb_sync, .fb_sync = xxxfb_sync,

View File

@ -1382,7 +1382,6 @@ static struct fb_ops sstfb_ops = {
.fb_fillrect = cfb_fillrect, /* sstfb_fillrect */ .fb_fillrect = cfb_fillrect, /* sstfb_fillrect */
.fb_copyarea = cfb_copyarea, /* sstfb_copyarea */ .fb_copyarea = cfb_copyarea, /* sstfb_copyarea */
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
.fb_ioctl = sstfb_ioctl, .fb_ioctl = sstfb_ioctl,
}; };

View File

@ -1147,7 +1147,6 @@ static struct fb_ops stifb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };

View File

@ -52,7 +52,6 @@ static struct fb_ops tcx_ops = {
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_mmap = tcx_mmap, .fb_mmap = tcx_mmap,
.fb_ioctl = tcx_ioctl, .fb_ioctl = tcx_ioctl,
.fb_cursor = soft_cursor,
}; };
/* THC definitions */ /* THC definitions */

View File

@ -184,7 +184,6 @@ static struct fb_ops tdfxfb_ops = {
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
#endif #endif
.fb_cursor = soft_cursor,
}; };
/* /*

View File

@ -63,7 +63,6 @@ static struct fb_ops tgafb_ops = {
.fb_fillrect = tgafb_fillrect, .fb_fillrect = tgafb_fillrect,
.fb_copyarea = tgafb_copyarea, .fb_copyarea = tgafb_copyarea,
.fb_imageblit = tgafb_imageblit, .fb_imageblit = tgafb_imageblit,
.fb_cursor = soft_cursor,
}; };

View File

@ -1293,7 +1293,6 @@ static struct fb_ops tridentfb_ops = {
.fb_fillrect = tridentfb_fillrect, .fb_fillrect = tridentfb_fillrect,
.fb_copyarea= tridentfb_copyarea, .fb_copyarea= tridentfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
module_init(tridentfb_init); module_init(tridentfb_init);

View File

@ -89,7 +89,6 @@ static struct fb_ops tx3912fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static int tx3912fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) static int tx3912fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)

View File

@ -135,7 +135,6 @@ static struct fb_ops valkyriefb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
/* Sets the video mode according to info->var */ /* Sets the video mode according to info->var */

View File

@ -215,7 +215,6 @@ static struct fb_ops vesafb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
static int __init vesafb_setup(char *options) static int __init vesafb_setup(char *options)

View File

@ -92,7 +92,6 @@ static struct fb_ops vfb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
.fb_mmap = vfb_mmap, .fb_mmap = vfb_mmap,
}; };

View File

@ -1326,7 +1326,6 @@ static struct fb_ops vga16fb_ops = {
.fb_fillrect = vga16fb_fillrect, .fb_fillrect = vga16fb_fillrect,
.fb_copyarea = vga16fb_copyarea, .fb_copyarea = vga16fb_copyarea,
.fb_imageblit = vga16fb_imageblit, .fb_imageblit = vga16fb_imageblit,
.fb_cursor = soft_cursor,
}; };
#ifndef MODULE #ifndef MODULE

View File

@ -397,7 +397,6 @@ static struct fb_ops w100fb_ops = {
.fb_fillrect = cfb_fillrect, .fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea, .fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit, .fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
}; };
#ifdef CONFIG_PM #ifdef CONFIG_PM

View File

@ -810,7 +810,6 @@ struct fb_info {
extern int fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var); 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_pan_display(struct fb_info *info, struct fb_var_screeninfo *var);
extern int fb_blank(struct fb_info *info, int blank); 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_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_copyarea(struct fb_info *info, const struct fb_copyarea *area);
extern void cfb_imageblit(struct fb_info *info, const struct fb_image *image); extern void cfb_imageblit(struct fb_info *info, const struct fb_image *image);