vserver 2.0 rc7
[linux-2.6.git] / drivers / video / Kconfig
index eaa557b..6be8fbe 100644 (file)
@@ -5,7 +5,7 @@
 menu "Graphics support"
 
 config FB
-       bool "Support for frame buffer devices"
+       tristate "Support for frame buffer devices"
        ---help---
          The frame buffer device provides an abstraction for the graphics
          hardware. It represents the frame buffer of some video hardware and
@@ -38,6 +38,47 @@ config FB
          (e.g. an accelerated X server) and that are not frame buffer
          device-aware may cause unexpected results. If unsure, say N.
 
+config FB_CFB_FILLRECT
+       tristate
+       depends on FB
+       default n
+       ---help---
+         Include the cfb_fillrect function for generic software rectangle
+         filling. This is used by drivers that don't provide their own
+         (accelerated) version.
+
+config FB_CFB_COPYAREA
+       tristate
+       depends on FB
+       default n
+       ---help---
+         Include the cfb_copyarea function for generic software area copying.
+         This is used by drivers that don't provide their own (accelerated)
+         version.
+
+config FB_CFB_IMAGEBLIT
+       tristate
+       depends on FB
+       default n
+       ---help---
+         Include the cfb_imageblit function for generic software image
+         blitting. This is used by drivers that don't provide their own
+         (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
+       tristate
+       depends on FB
+       default n
+
 config FB_MODE_HELPERS
         bool "Enable Video Mode Handling Helpers"
         depends on FB
@@ -70,6 +111,10 @@ config FB_TILEBLITTING
 config FB_CIRRUS
        tristate "Cirrus Logic support"
        depends on FB && (ZORRO || PCI)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        ---help---
          This enables support for Cirrus Logic GD542x/543x based boards on
          Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum.
@@ -85,6 +130,10 @@ config FB_CIRRUS
 config FB_PM2
        tristate "Permedia2 support"
        depends on FB && ((AMIGA && BROKEN) || PCI)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the Permedia2 AGP frame
          buffer card from ASK, aka `Graphic Blaster Exxtreme'.  There is a
@@ -100,6 +149,10 @@ config FB_PM2_FIFO_DISCONNECT
 config FB_ARMCLCD
        tristate "ARM PrimeCell PL110 support"
        depends on FB && ARM && ARM_AMBA
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This framebuffer device driver is for the ARM PrimeCell PL110
          Colour LCD controller.  ARM PrimeCells provide the building
@@ -112,7 +165,11 @@ config FB_ARMCLCD
 
 config FB_ACORN
        bool "Acorn VIDC support"
-       depends on FB && ARM && ARCH_ACORN
+       depends on (FB = y) && ARM && (ARCH_ACORN || ARCH_CLPS7500)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the Acorn VIDC graphics
          hardware found in Acorn RISC PCs and other ARM-based machines.  If
@@ -120,11 +177,19 @@ config FB_ACORN
 
 config FB_CLPS711X
        bool "CLPS711X LCD support"
-       depends on FB && ARM && ARCH_CLPS711X
+       depends on (FB = y) && ARM && ARCH_CLPS711X
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
 
 config FB_SA1100
        bool "SA-1100 LCD support"
-       depends on FB && ARM && ARCH_SA1100
+       depends on (FB = y) && ARM && ARCH_SA1100
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is a framebuffer device for the SA-1100 LCD Controller.
          See <http://www.linux-fbdev.org/> for information on framebuffer
@@ -133,9 +198,21 @@ config FB_SA1100
          If you plan to use the LCD display with your SA-1100 system, say
          Y here.
 
+config FB_IMX
+       tristate "Motorola i.MX LCD support"
+       depends on FB && ARM && ARCH_IMX
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+
 config FB_CYBER2000
        tristate "CyberPro 2000/2010/5000 support"
        depends on FB && PCI && (BROKEN || !SPARC64)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This enables support for the Integraphics CyberPro 20x0 and 5000
          VGA chips used in the Rebel.com Netwinder and other machines.
@@ -144,17 +221,25 @@ config FB_CYBER2000
 
 config FB_APOLLO
        bool
-       depends on FB && APOLLO
+       depends on (FB = y) && APOLLO
        default y
+       select FB_CFB_FILLRECT
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
 
 config FB_Q40
        bool
-       depends on FB && Q40
+       depends on (FB = y) && Q40
        default y
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
 
 config FB_AMIGA
        tristate "Amiga native chipset support"
        depends on FB && AMIGA
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the builtin graphics
          chipset found in Amigas.
@@ -191,6 +276,10 @@ config FB_AMIGA_AGA
 config FB_CYBER
        tristate "Amiga CyberVision 64 support"
        depends on FB && ZORRO && BROKEN
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This enables support for the Cybervision 64 graphics card from
          Phase5. Please note that its use is not all that intuitive (i.e. if
@@ -201,7 +290,11 @@ config FB_CYBER
 
 config FB_VIRGE
        bool "Amiga CyberVision 64/3D support "
-       depends on FB && ZORRO && BROKEN
+       depends on (FB = y) && ZORRO && BROKEN
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          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
@@ -212,7 +305,7 @@ config FB_VIRGE
 
 config FB_RETINAZ3
        tristate "Amiga Retina Z3 support"
-       depends on FB && ZORRO && BROKEN
+       depends on (FB = y) && ZORRO && BROKEN
        help
          This enables support for the Retina Z3 graphics card. Say N unless
          you have a Retina Z3 or plan to get one before you next recompile
@@ -220,73 +313,112 @@ config FB_RETINAZ3
 
 config FB_FM2
        bool "Amiga FrameMaster II/Rainbow II support"
-       depends on FB && ZORRO
+       depends on (FB = y) && ZORRO
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the Amiga FrameMaster
          card from BSC (exhibited 1992 but not shipped as a CBM product).
 
 config FB_ATARI
        bool "Atari native chipset support"
-       depends on FB && ATARI && BROKEN
+       depends on (FB = y) && ATARI && BROKEN
        help
          This is the frame buffer device driver for the builtin graphics
          chipset found in Ataris.
 
 config FB_OF
        bool "Open Firmware frame buffer device support"
-       depends on FB && (PPC64 || PPC_OF)
+       depends on (FB = y) && (PPC64 || PPC_OF)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES
        help
          Say Y if you want support with Open Firmware for your graphics
          board.
 
 config FB_CONTROL
        bool "Apple \"control\" display support"
-       depends on FB && PPC_PMAC
+       depends on (FB = y) && PPC_PMAC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES
        help
          This driver supports a frame buffer for the graphics adapter in the
          Power Macintosh 7300 and others.
 
 config FB_PLATINUM
        bool "Apple \"platinum\" display support"
-       depends on FB && PPC_PMAC
+       depends on (FB = y) && PPC_PMAC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES
        help
          This driver supports a frame buffer for the "platinum" graphics
          adapter in some Power Macintoshes.
 
 config FB_VALKYRIE
        bool "Apple \"valkyrie\" display support"
-       depends on FB && (MAC || PPC_PMAC)
+       depends on (FB = y) && (MAC || PPC_PMAC)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES
        help
          This driver supports a frame buffer for the "valkyrie" graphics
          adapter in some Power Macintoshes.
 
 config FB_CT65550
        bool "Chips 65550 display support"
-       depends on FB && PPC
+       depends on (FB = y) && PPC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the Chips & Technologies
          65550 graphics chip in PowerBooks.
 
 config FB_ASILIANT
        bool "Chips 69000 display support"
-       depends on FB && PCI
+       depends on (FB = y) && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
 
 config FB_IMSTT
        bool "IMS Twin Turbo display support"
-       depends on FB && PCI
+       depends on (FB = y) && PCI
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES if PPC
        help
          The IMS Twin Turbo is a PCI-based frame buffer card bundled with
          many Macintosh and compatible computers.
 
 config FB_S3TRIO
        bool "S3 Trio display support"
-       depends on FB && PPC && BROKEN
+       depends on (FB = y) && PPC && BROKEN
        help
          If you have a S3 Trio say Y. Say N for S3 Virge.
 
 config FB_VGA16
        tristate "VGA 16-color graphics support"
        depends on FB && (X86 || PPC)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for VGA 16 color graphic
          cards. Say Y if you have such a card.
@@ -297,6 +429,10 @@ config FB_VGA16
 config FB_STI
        tristate "HP STI frame buffer device support"
        depends on FB && PARISC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        default y
        ---help---
          STI refers to the HP "Standard Text Interface" which is a set of
@@ -313,24 +449,40 @@ config FB_STI
 
 config FB_MAC
        bool "Generic Macintosh display support"
-       depends on FB && MAC
+       depends on (FB = y) && MAC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES
 
 #      bool '  Apple DAFB display support' CONFIG_FB_DAFB
 config FB_HP300
        bool
-       depends on FB && HP300
+       depends on (FB = y) && HP300
+       select FB_CFB_FILLRECT
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        default y
 
 config FB_TGA
        tristate "TGA framebuffer support"
        depends on FB && ALPHA
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for generic TGA graphic
          cards. Say Y if you have one of those.
 
 config FB_VESA
        bool "VESA VGA graphics support"
-       depends on FB && (X86 || X86_64)
+       depends on (FB = y) && (X86 || X86_64)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for generic VESA 2.0
          compliant graphic cards. The older VESA 1.2 cards are not supported.
@@ -345,6 +497,10 @@ config VIDEO_SELECT
 config FB_HGA
        tristate "Hercules mono graphics support"
        depends on FB && X86
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          Say Y here if you have a Hercules mono graphics card.
 
@@ -364,18 +520,26 @@ config FB_HGA_ACCEL
 
 config VIDEO_SELECT
        bool
-       depends on FB && X86
+       depends on (FB = y) && X86
        default y
 
 config FB_SGIVW
        tristate "SGI Visual Workstation framebuffer support"
        depends on FB && X86_VISWS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          SGI Visual Workstation support for framebuffer graphics.
 
 config FB_GBE
        bool "SGI Graphics Backend frame buffer support"
-       depends on FB && (SGI_IP32 || X86_VISWS)
+       depends on (FB = y) && (SGI_IP32 || X86_VISWS)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for SGI Graphics Backend.
          This chip is used in SGI O2 and Visual Workstation 320/540.
@@ -390,28 +554,38 @@ config FB_GBE_MEM
 
 config BUS_I2C
        bool
-       depends on FB && VISWS
+       depends on (FB = y) && VISWS
        default y
 
 config FB_SUN3
        bool "Sun3 framebuffer support"
-       depends on FB && (SUN3 || SUN3X) && BROKEN
+       depends on (FB = y) && (SUN3 || SUN3X) && BROKEN
 
 config FB_BW2
        bool "BWtwo support"
-       depends on FB && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       depends on (FB = y) && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the BWtwo frame buffer.
 
 config FB_CG3
        bool "CGthree support"
-       depends on FB && ((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_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the CGthree frame buffer.
 
 config FB_CG6
        bool "CGsix (GX,TurboGX) support"
-       depends on FB && ((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_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the CGsix (GX, TurboGX)
          frame buffer.
@@ -419,6 +593,10 @@ config FB_CG6
 config FB_PVR2
        tristate "NEC PowerVR 2 display support"
        depends on FB && SH_DREAMCAST
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        ---help---
          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.
@@ -436,19 +614,58 @@ config FB_PVR2
 
 config FB_EPSON1355
        bool "Epson 1355 framebuffer support"
-       depends on FB && (SUPERH || ARCH_CEIVA)
+       depends on (FB = y) && (SUPERH || ARCH_CEIVA)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          Build in support for the SED1355 Epson Research Embedded RAMDAC
          LCD/CRT Controller (since redesignated as the S1D13505) as a
          framebuffer.  Product specs at
          <http://www.erd.epson.com/vdc/html/products.htm>.
 
+config FB_NVIDIA
+       tristate "nVidia Framebuffer Support"
+       depends on FB && PCI
+       select I2C_ALGOBIT if FB_NVIDIA_I2C
+       select I2C if FB_NVIDIA_I2C
+       select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       help
+         This driver supports graphics boards with the nVidia chips, TNT
+         and newer. For very old chipsets, such as the RIVA128, then use
+         the rivafb.
+         Say Y if you have such a graphics board.
+
+         To compile this driver as a module, choose M here: the
+         module will be called nvidiafb.
+
+config FB_NVIDIA_I2C
+       bool "Enable DDC Support"
+       depends on FB_NVIDIA && !PPC_OF
+       help
+         This enables I2C support for nVidia Chipsets.  This is used
+         only for getting EDID information from the attached display
+         allowing for robust video mode handling and switching.
+
+         Because fbdev-2.6 requires that drivers must be able to
+         independently validate video mode parameters, you should say Y
+         here.
+
 config FB_RIVA
        tristate "nVidia Riva support"
        depends on FB && PCI
        select I2C_ALGOBIT if FB_RIVA_I2C
        select I2C if FB_RIVA_I2C
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This driver supports graphics boards with the nVidia Riva/Geforce
          chips.
@@ -484,6 +701,10 @@ config FB_I810
        select AGP
        select AGP_INTEL
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This driver supports the on-board graphics built in to the Intel 810 
           and 815 chipsets.  Say Y if you have and plan to use such a board.
@@ -522,6 +743,11 @@ config FB_INTEL
        depends on FB && EXPERIMENTAL && PCI && X86 && !X86_64
        select AGP
        select AGP_INTEL
+       select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This driver supports the on-board graphics built in to the Intel
           830M/845G/852GM/855GM/865G chipsets.
@@ -541,6 +767,12 @@ config FB_INTEL_DEBUG
 config FB_MATROX
        tristate "Matrox acceleration"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_TILEBLITTING
+       select FB_MACMODES if PPC_PMAC
        ---help---
          Say Y here if you have a Matrox Millennium, Matrox Millennium II,
          Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
@@ -676,6 +908,11 @@ config FB_MATROX_MULTIHEAD
 config FB_RADEON_OLD
        tristate "ATI Radeon display support (Old driver)"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES if PPC
        help
          Choose this option if you want to use an ATI Radeon graphics card as
          a framebuffer device.  There are both PCI and AGP versions.  You
@@ -689,6 +926,11 @@ config FB_RADEON
        select I2C_ALGOBIT if FB_RADEON_I2C
        select I2C if FB_RADEON_I2C
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES if PPC_OF
        help
          Choose this option if you want to use an ATI Radeon graphics card as
          a framebuffer device.  There are both PCI and AGP versions.  You
@@ -723,6 +965,11 @@ config FB_RADEON_DEBUG
 config FB_ATY128
        tristate "ATI Rage128 display support"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES if PPC_PMAC
        help
          This driver supports graphics boards with the ATI Rage128 chips.
          Say Y if you have such a graphics board and read
@@ -734,6 +981,11 @@ config FB_ATY128
 config FB_ATY
        tristate "ATI Mach64 display support" if PCI || ATARI
        depends on FB
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       select FB_MACMODES if PPC
        help
          This driver supports graphics boards with the ATI Mach64 chips.
          Say Y if you have such a graphics board.
@@ -781,6 +1033,10 @@ config FB_SAVAGE
        select I2C_ALGOBIT if FB_SAVAGE_I2C
        select I2C if FB_SAVAGE_I2C
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This driver supports notebooks and computers with S3 Savage PCI/AGP
          chips.
@@ -791,7 +1047,7 @@ config FB_SAVAGE
          will be called savagefb.
 
 config FB_SAVAGE_I2C
-       tristate "Enable DDC2 Support"
+       bool "Enable DDC2 Support"
        depends on FB_SAVAGE
        help
          This enables I2C support for S3 Savage Chipsets.  This is used
@@ -803,7 +1059,7 @@ config FB_SAVAGE_I2C
          here.
 
 config FB_SAVAGE_ACCEL
-       tristate "Enable Console Acceleration"
+       bool "Enable Console Acceleration"
        depends on FB_SAVAGE
        default n
        help
@@ -814,6 +1070,10 @@ config FB_SAVAGE_ACCEL
 config FB_SIS
        tristate "SiS acceleration"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the SiS 300, 315 and
          330 series VGA chipsets. Specs available at <http://www.sis.com>
@@ -838,6 +1098,10 @@ config FB_NEOMAGIC
        tristate "NeoMagic display support"
        depends on FB && PCI
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This driver supports notebooks with NeoMagic PCI chips.
          Say Y if you have such a graphics card. 
@@ -848,6 +1112,10 @@ config FB_NEOMAGIC
 config FB_KYRO
        tristate "IMG Kyro support"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
          graphics board.
@@ -858,6 +1126,10 @@ config FB_KYRO
 config FB_3DFX
        tristate "3Dfx Banshee/Voodoo3 display support"
        depends on FB && PCI
+       select FB_CFB_IMAGEBLIT
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_SOFT_CURSOR
        help
          This driver supports graphics boards with the 3Dfx Banshee/Voodoo3
          chips. Say Y if you have such a graphics board.
@@ -876,6 +1148,10 @@ config FB_3DFX_ACCEL
 config FB_VOODOO1
        tristate "3Dfx Voodoo Graphics (sst1) support"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        ---help---
          Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or 
          Voodoo2 (cvg) based graphics card.
@@ -891,6 +1167,10 @@ config FB_VOODOO1
 config FB_TRIDENT
        tristate "Trident support"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        ---help---
          This driver is supposed to support graphics boards with the
          Trident CyberXXXX/Image/CyberBlade chips mostly found in laptops
@@ -953,17 +1233,22 @@ config PB1500_TFT
 
 config FB_AU1100
        bool "Au1100 LCD Driver"
-       depends on FB && EXPERIMENTAL && PCI && MIPS && MIPS_PB1100=y
+       depends on (FB = y) && EXPERIMENTAL && PCI && MIPS && MIPS_PB1100=y
+
+source "drivers/video/geode/Kconfig"
 
 config FB_SBUS
        bool "SBUS and UPA framebuffers"
-       depends on FB && (SPARC32 || SPARC64)
+       depends on (FB = y) && (SPARC32 || SPARC64)
        help
          Say Y if you want support for SBUS or UPA based frame buffer device.
 
 config FB_FFB
        bool "Creator/Creator3D/Elite3D support"
        depends on FB_SBUS && SPARC64
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the Creator, Creator3D,
          and Elite3D graphics boards.
@@ -971,6 +1256,10 @@ config FB_FFB
 config FB_TCX
        bool "TCX (SS4/SS5 only) support"
        depends on FB_SBUS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the TCX 24/8bit frame
          buffer.
@@ -978,6 +1267,10 @@ config FB_TCX
 config FB_CG14
        bool "CGfourteen (SX) support"
        depends on FB_SBUS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the CGfourteen frame
          buffer on Desktop SPARCsystems with the SX graphics option.
@@ -985,6 +1278,10 @@ config FB_CG14
 config FB_P9100
        bool "P9100 (Sparcbook 3 only) support"
        depends on FB_SBUS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the P9100 card
          supported on Sparcbook 3 machines.
@@ -992,17 +1289,25 @@ config FB_P9100
 config FB_LEO
        bool "Leo (ZX) support"
        depends on FB_SBUS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the SBUS-based Sun ZX
          (leo) frame buffer cards.
 
 config FB_PCI
        bool "PCI framebuffers"
-       depends on FB && PCI && (SPARC64 || SPARC32)
+       depends on (FB = y) && PCI && (SPARC64 || SPARC32)
 
 config FB_IGA
        bool "IGA 168x display support"
        depends on SPARC32 && FB_PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the framebuffer device for the INTERGRAPHICS 1680 and
          successor frame buffer cards.
@@ -1010,27 +1315,43 @@ config FB_IGA
 config FB_HIT
        tristate "HD64461 Frame Buffer support"
        depends on FB && HD64461
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          This is the frame buffer device driver for the Hitachi HD64461 LCD
          frame buffer card.
 
 config FB_PMAG_AA
        bool "PMAG-AA TURBOchannel framebuffer support"
-       depends on FB && MACH_DECSTATION && TC
+       depends on (FB = y) && MACH_DECSTATION && TC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
          used mainly in the MIPS-based DECstation series.
 
 config FB_PMAG_BA
        bool "PMAG-BA TURBOchannel framebuffer support"
-       depends on FB && MACH_DECSTATION && TC
+       depends on (FB = y) && MACH_DECSTATION && TC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
          used mainly in the MIPS-based DECstation series.
 
 config FB_PMAGB_B
        bool "PMAGB-B TURBOchannel framebuffer support"
-       depends on FB && MACH_DECSTATION && TC
+       depends on (FB = y) && MACH_DECSTATION && TC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          Support for the PMAGB-B TURBOchannel framebuffer card used mainly
          in the MIPS-based DECstation series. The card is currently only
@@ -1038,7 +1359,11 @@ config FB_PMAGB_B
 
 config FB_MAXINE
        bool "Maxine (Personal DECstation) onboard framebuffer support"
-       depends on FB && MACH_DECSTATION && TC
+       depends on (FB = y) && MACH_DECSTATION && TC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          Support for the onboard framebuffer (1024x768x8) in the Personal
          DECstation series (Personal DECstation 5000/20, /25, /33, /50,
@@ -1046,7 +1371,11 @@ config FB_MAXINE
 
 config FB_TX3912
        bool "TMPTX3912/PR31700 frame buffer support"
-       depends on FB && NINO
+       depends on (FB = y) && NINO
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          The TX3912 is a Toshiba RISC processor based on the MIPS 3900 core
          see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
@@ -1056,13 +1385,21 @@ config FB_TX3912
 config FB_G364
        bool
        depends on MIPS_MAGNUM_4000 || OLIVETTI_M700
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          The G364 driver is the framebuffer used in MIPS Magnum 4000 and
          Olivetti M700-10 systems.
 
 config FB_68328
        bool "Motorola 68328 native frame buffer support"
-       depends on (M68328 || M68EZ328 || M68VZ328)
+       depends on FB && (M68328 || M68EZ328 || M68VZ328)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        help
          Say Y here if you want to support the built-in frame buffer of
          the Motorola 68328 CPU family.
@@ -1070,6 +1407,10 @@ config FB_68328
 config FB_PXA
        tristate "PXA LCD framebuffer support"
        depends on FB && ARCH_PXA
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        ---help---
          Frame buffer driver for the built-in LCD controller in the Intel
          PXA2x0 processor.
@@ -1084,6 +1425,10 @@ config FB_PXA
 config FB_W100
        tristate "W100 frame buffer support"
        depends on FB && PXA_SHARPSL
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        ---help---
          Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
 
@@ -1111,9 +1456,25 @@ config FB_PXA_PARAMETERS
 
          <file:Documentation/fb/pxafb.txt> describes the available parameters.
 
+config FB_S1D13XXX
+       tristate "Epson S1D13XXX framebuffer support"
+       depends on FB
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
+       help
+         Support for S1D13XXX framebuffer device family (currently only
+         working with S1D13806). Product specs at
+         <http://www.erd.epson.com/vdc/html/legacy_13xxx.htm>
+
 config FB_VIRTUAL
        tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
        depends on FB
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_SOFT_CURSOR
        ---help---
          This is a `virtual' frame buffer device. It operates on a chunk of
          unswappable kernel memory instead of on the memory of a graphics