fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / video / Kconfig
index eaa557b..4e83f01 100644 (file)
@@ -4,8 +4,23 @@
 
 menu "Graphics support"
 
 
 menu "Graphics support"
 
+config FIRMWARE_EDID
+       bool "Enable firmware EDID"
+       default y
+       ---help---
+         This enables access to the EDID transferred from the firmware.
+        On the i386, this is from the Video BIOS. Enable this if DDC/I2C
+        transfers do not work for your driver and if you are using
+        nvidiafb, i810fb or savagefb.
+
+        In general, choosing Y for this option is safe.  If you
+        experience extremely long delays while booting before you get
+        something on your display, try setting this to N.  Matrox cards in
+        combination with certain motherboards and monitors are known to
+        suffer from this problem.
+
 config FB
 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
        ---help---
          The frame buffer device provides an abstraction for the graphics
          hardware. It represents the frame buffer of some video hardware and
@@ -38,6 +53,50 @@ config FB
          (e.g. an accelerated X server) and that are not frame buffer
          device-aware may cause unexpected results. If unsure, say N.
 
          (e.g. an accelerated X server) and that are not frame buffer
          device-aware may cause unexpected results. If unsure, say N.
 
+config FB_DDC
+       tristate
+       depends on FB && I2C && I2C_ALGOBIT
+       default 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_MACMODES
+       tristate
+       depends on FB
+       default n
+
+config FB_BACKLIGHT
+       bool
+       depends on FB
+       select BACKLIGHT_LCD_SUPPORT
+       select BACKLIGHT_CLASS_DEVICE
+       default n
+
 config FB_MODE_HELPERS
         bool "Enable Video Mode Handling Helpers"
         depends on FB
 config FB_MODE_HELPERS
         bool "Enable Video Mode Handling Helpers"
         depends on FB
@@ -70,6 +129,9 @@ config FB_TILEBLITTING
 config FB_CIRRUS
        tristate "Cirrus Logic support"
        depends on FB && (ZORRO || PCI)
 config FB_CIRRUS
        tristate "Cirrus Logic support"
        depends on FB && (ZORRO || PCI)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        ---help---
          This enables support for Cirrus Logic GD542x/543x based boards on
          Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum.
        ---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 +147,9 @@ config FB_CIRRUS
 config FB_PM2
        tristate "Permedia2 support"
        depends on FB && ((AMIGA && BROKEN) || PCI)
 config FB_PM2
        tristate "Permedia2 support"
        depends on FB && ((AMIGA && BROKEN) || PCI)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This is the frame buffer device driver for the Permedia2 AGP frame
          buffer card from ASK, aka `Graphic Blaster Exxtreme'.  There is a
        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 +165,9 @@ config FB_PM2_FIFO_DISCONNECT
 config FB_ARMCLCD
        tristate "ARM PrimeCell PL110 support"
        depends on FB && ARM && ARM_AMBA
 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
        help
          This framebuffer device driver is for the ARM PrimeCell PL110
          Colour LCD controller.  ARM PrimeCells provide the building
        help
          This framebuffer device driver is for the ARM PrimeCell PL110
          Colour LCD controller.  ARM PrimeCells provide the building
@@ -110,9 +178,75 @@ config FB_ARMCLCD
          here and read <file:Documentation/modules.txt>.  The module
          will be called amba-clcd.
 
          here and read <file:Documentation/modules.txt>.  The module
          will be called amba-clcd.
 
+choice
+
+       depends on FB_ARMCLCD && (ARCH_LH7A40X || ARCH_LH7952X)
+       prompt "LCD Panel"
+       default FB_ARMCLCD_SHARP_LQ035Q7DB02
+
+config FB_ARMCLCD_SHARP_LQ035Q7DB02_HRTFT
+       bool "LogicPD LCD 3.5\" QVGA w/HRTFT IC"
+       help
+         This is an implementation of the Sharp LQ035Q7DB02, a 3.5"
+         color QVGA, HRTFT panel.  The LogicPD device includes
+         an integrated HRTFT controller IC.
+         The native resolution is 240x320.
+
+config FB_ARMCLCD_SHARP_LQ057Q3DC02
+       bool "LogicPD LCD 5.7\" QVGA"
+       help
+         This is an implementation of the Sharp LQ057Q3DC02, a 5.7"
+         color QVGA, TFT panel.  The LogicPD device includes an
+         The native resolution is 320x240.
+
+config FB_ARMCLCD_SHARP_LQ64D343
+       bool "LogicPD LCD 6.4\" VGA"
+       help
+         This is an implementation of the Sharp LQ64D343, a 6.4"
+         color VGA, TFT panel.  The LogicPD device includes an
+         The native resolution is 640x480.
+
+config FB_ARMCLCD_SHARP_LQ10D368
+       bool "LogicPD LCD 10.4\" VGA"
+       help
+         This is an implementation of the Sharp LQ10D368, a 10.4"
+         color VGA, TFT panel.  The LogicPD device includes an
+         The native resolution is 640x480.
+
+
+config FB_ARMCLCD_SHARP_LQ121S1DG41
+       bool "LogicPD LCD 12.1\" SVGA"
+       help
+         This is an implementation of the Sharp LQ121S1DG41, a 12.1"
+         color SVGA, TFT panel.  The LogicPD device includes an
+         The native resolution is 800x600.
+
+         This panel requires a clock rate may be an integer fraction
+         of the base LCDCLK frequency.  The driver will select the
+         highest frequency available that is lower than the maximum
+         allowed.  The panel may flicker if the clock rate is
+         slower than the recommended minimum.
+
+config FB_ARMCLCD_AUO_A070VW01_WIDE
+       bool "AU Optronics A070VW01 LCD 7.0\" WIDE"
+       help
+         This is an implementation of the AU Optronics, a 7.0"
+         WIDE Color.  The native resolution is 234x480.
+
+config FB_ARMCLCD_HITACHI
+       bool "Hitachi Wide Screen 800x480"
+       help
+         This is an implementation of the Hitachi 800x480.
+
+endchoice
+
+
 config FB_ACORN
        bool "Acorn VIDC support"
 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
        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
        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 +254,20 @@ config FB_ACORN
 
 config FB_CLPS711X
        bool "CLPS711X LCD support"
 
 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
+       help
+         Say Y to enable the Framebuffer driver for the CLPS7111 and
+         EP7212 processors.
 
 config FB_SA1100
        bool "SA-1100 LCD support"
 
 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
        help
          This is a framebuffer device for the SA-1100 LCD Controller.
          See <http://www.linux-fbdev.org/> for information on framebuffer
        help
          This is a framebuffer device for the SA-1100 LCD Controller.
          See <http://www.linux-fbdev.org/> for information on framebuffer
@@ -133,9 +276,19 @@ config FB_SA1100
          If you plan to use the LCD display with your SA-1100 system, say
          Y here.
 
          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
+
 config FB_CYBER2000
        tristate "CyberPro 2000/2010/5000 support"
        depends on FB && PCI && (BROKEN || !SPARC64)
 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
        help
          This enables support for the Integraphics CyberPro 20x0 and 5000
          VGA chips used in the Rebel.com Netwinder and other machines.
        help
          This enables support for the Integraphics CyberPro 20x0 and 5000
          VGA chips used in the Rebel.com Netwinder and other machines.
@@ -144,13 +297,18 @@ config FB_CYBER2000
 
 config FB_APOLLO
        bool
 
 config FB_APOLLO
        bool
-       depends on FB && APOLLO
+       depends on (FB = y) && APOLLO
        default y
        default y
+       select FB_CFB_FILLRECT
+       select FB_CFB_IMAGEBLIT
 
 config FB_Q40
        bool
 
 config FB_Q40
        bool
-       depends on FB && Q40
+       depends on (FB = y) && Q40
        default y
        default y
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
 
 config FB_AMIGA
        tristate "Amiga native chipset support"
 
 config FB_AMIGA
        tristate "Amiga native chipset support"
@@ -191,6 +349,9 @@ config FB_AMIGA_AGA
 config FB_CYBER
        tristate "Amiga CyberVision 64 support"
        depends on FB && ZORRO && BROKEN
 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
        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
        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 +362,10 @@ config FB_CYBER
 
 config FB_VIRGE
        bool "Amiga CyberVision 64/3D support "
 
 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
        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
        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 +376,7 @@ config FB_VIRGE
 
 config FB_RETINAZ3
        tristate "Amiga Retina Z3 support"
 
 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
        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 +384,114 @@ config FB_RETINAZ3
 
 config FB_FM2
        bool "Amiga FrameMaster II/Rainbow II support"
 
 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
        help
          This is the frame buffer device driver for the Amiga FrameMaster
          card from BSC (exhibited 1992 but not shipped as a CBM product).
 
        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_ARC
+       tristate "Arc Monochrome LCD board support"
+       depends on FB && X86
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       help
+         This enables support for the Arc Monochrome LCD board. The board
+         is based on the KS-108 lcd controller and is typically a matrix
+         of 2*n chips. This driver was tested with a 128x64 panel. This
+         driver supports it for use with x86 SBCs through a 16 bit GPIO
+         interface (8 bit data, 8 bit control). If you anticipate using
+         this driver, say Y or M; otherwise say N. You must specify the
+         GPIO IO address to be used for setting control and data.
+
 config FB_ATARI
        bool "Atari native chipset support"
 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"
        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_MACMODES
        help
          Say Y if you want support with Open Firmware for your graphics
          board.
 
 config FB_CONTROL
        bool "Apple \"control\" display support"
        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 && PPC32
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       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"
        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 && PPC32
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       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"
        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 && PPC32))
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       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"
        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) && PPC32
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This is the frame buffer device driver for the Chips & Technologies
          65550 graphics chip in PowerBooks.
 
 config FB_ASILIANT
        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
+       bool "Asiliant (Chips) 69000 display support"
+       depends on (FB = y) && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       help
+         This is the frame buffer device driver for the Asiliant 69030 chipset
 
 config FB_IMSTT
        bool "IMS Twin Turbo display support"
 
 config FB_IMSTT
        bool "IMS Twin Turbo display support"
-       depends on FB && PCI
+       depends on (FB = y) && PCI
+       select FB_CFB_IMAGEBLIT
+       select FB_MACMODES if PPC
        help
          The IMS Twin Turbo is a PCI-based frame buffer card bundled with
          many Macintosh and compatible computers.
 
        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
-       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)
 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
        help
          This is the frame buffer device driver for VGA 16 color graphic
          cards. Say Y if you have such a card.
        help
          This is the frame buffer device driver for VGA 16 color graphic
          cards. Say Y if you have such a card.
@@ -297,6 +502,9 @@ config FB_VGA16
 config FB_STI
        tristate "HP STI frame buffer device support"
        depends on FB && PARISC
 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
        default y
        ---help---
          STI refers to the HP "Standard Text Interface" which is a set of
        default y
        ---help---
          STI refers to the HP "Standard Text Interface" which is a set of
@@ -313,38 +521,59 @@ config FB_STI
 
 config FB_MAC
        bool "Generic Macintosh display support"
 
 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_MACMODES
 
 #      bool '  Apple DAFB display support' CONFIG_FB_DAFB
 config FB_HP300
        bool
 
 #      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
        default y
 
 config FB_TGA
        tristate "TGA framebuffer support"
        depends on FB && ALPHA
        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 BITREVERSE
        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"
        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
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select VIDEO_SELECT
        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.
          You will get a boot time penguin logo at no additional cost. Please
          read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
 
        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.
          You will get a boot time penguin logo at no additional cost. Please
          read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
 
-config VIDEO_SELECT
-       bool
-       depends on FB_VESA
-       default y
+config FB_IMAC
+       bool "Intel-based Macintosh Framebuffer Support"
+       depends on (FB = y) && X86 && EFI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       help
+         This is the frame buffer device driver for the Intel-based Macintosh
 
 config FB_HGA
        tristate "Hercules mono graphics support"
        depends on FB && X86
 
 config FB_HGA
        tristate "Hercules mono graphics support"
        depends on FB && X86
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          Say Y here if you have a Hercules mono graphics card.
 
        help
          Say Y here if you have a Hercules mono graphics card.
 
@@ -361,21 +590,21 @@ config FB_HGA_ACCEL
        This will compile the Hercules mono graphics with
        acceleration functions.
 
        This will compile the Hercules mono graphics with
        acceleration functions.
 
-
-config VIDEO_SELECT
-       bool
-       depends on FB && X86
-       default y
-
 config FB_SGIVW
        tristate "SGI Visual Workstation framebuffer support"
        depends on FB && X86_VISWS
 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
        help
          SGI Visual Workstation support for framebuffer graphics.
 
 config FB_GBE
        bool "SGI Graphics Backend frame buffer support"
        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
        help
          This is the frame buffer device driver for SGI Graphics Backend.
          This chip is used in SGI O2 and Visual Workstation 320/540.
        help
          This is the frame buffer device driver for SGI Graphics Backend.
          This chip is used in SGI O2 and Visual Workstation 320/540.
@@ -383,35 +612,44 @@ config FB_GBE
 config FB_GBE_MEM
        int "Video memory size in MB"
        depends on FB_GBE
 config FB_GBE_MEM
        int "Video memory size in MB"
        depends on FB_GBE
-       default 8
+       default 4
        help
          This is the amount of memory reserved for the framebuffer,
          which can be any value between 1MB and 8MB.
 
        help
          This is the amount of memory reserved for the framebuffer,
          which can be any value between 1MB and 8MB.
 
-config BUS_I2C
-       bool
-       depends on FB && VISWS
-       default y
-
 config FB_SUN3
        bool "Sun3 framebuffer support"
 config FB_SUN3
        bool "Sun3 framebuffer support"
-       depends on FB && (SUN3 || SUN3X) && BROKEN
+       depends on (FB = y) && (SUN3 || SUN3X) && BROKEN
+
+config FB_SBUS
+       bool "SBUS and UPA framebuffers"
+       depends on (FB = y) && SPARC
+       help
+         Say Y if you want support for SBUS or UPA based frame buffer device.
 
 config FB_BW2
        bool "BWtwo support"
 
 config FB_BW2
        bool "BWtwo support"
-       depends on FB && ((SPARC32 || SPARC64) && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       depends on (FB = y) && (SPARC && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This is the frame buffer device driver for the BWtwo frame buffer.
 
 config FB_CG3
        bool "CGthree support"
        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) && (SPARC && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This is the frame buffer device driver for the CGthree frame buffer.
 
 config FB_CG6
        bool "CGsix (GX,TurboGX) support"
        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) && (SPARC && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This is the frame buffer device driver for the CGsix (GX, TurboGX)
          frame buffer.
        help
          This is the frame buffer device driver for the CGsix (GX, TurboGX)
          frame buffer.
@@ -419,6 +657,9 @@ config FB_CG6
 config FB_PVR2
        tristate "NEC PowerVR 2 display support"
        depends on FB && SH_DREAMCAST
 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
        ---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.
        ---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 +677,77 @@ config FB_PVR2
 
 config FB_EPSON1355
        bool "Epson 1355 framebuffer support"
 
 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
        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>.
 
        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_S1D13XXX
+       tristate "Epson S1D13XXX framebuffer support"
+       depends on FB
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       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_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 BITREVERSE
+       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
+       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_NVIDIA_BACKLIGHT
+       bool "Support for backlight control"
+       depends on FB_NVIDIA && PMAC_BACKLIGHT
+       select FB_BACKLIGHT
+       default y
+       help
+         Say Y here if you want to control the backlight of your display.
+
 config FB_RIVA
        tristate "nVidia Riva support"
        depends on FB && PCI
        select I2C_ALGOBIT if FB_RIVA_I2C
        select I2C if FB_RIVA_I2C
 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_DDC if FB_RIVA_I2C
        select FB_MODE_HELPERS
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select BITREVERSE
        help
          This driver supports graphics boards with the nVidia Riva/Geforce
          chips.
        help
          This driver supports graphics boards with the nVidia Riva/Geforce
          chips.
@@ -475,15 +774,26 @@ config FB_RIVA_DEBUG
        default n
        help
          Say Y here if you want the Riva driver to output all sorts
        default n
        help
          Say Y here if you want the Riva driver to output all sorts
-         of debugging informations to provide to the maintainer when
+         of debugging information to provide to the maintainer when
          something goes wrong.
 
          something goes wrong.
 
+config FB_RIVA_BACKLIGHT
+       bool "Support for backlight control"
+       depends on FB_RIVA && PMAC_BACKLIGHT
+       select FB_BACKLIGHT
+       default y
+       help
+         Say Y here if you want to control the backlight of your display.
+
 config FB_I810
        tristate "Intel 810/815 support (EXPERIMENTAL)"
 config FB_I810
        tristate "Intel 810/815 support (EXPERIMENTAL)"
-       depends on FB && EXPERIMENTAL && PCI && X86 && !X86_64
+       depends on FB && EXPERIMENTAL && PCI && X86_32
        select AGP
        select AGP_INTEL
        select FB_MODE_HELPERS
        select AGP
        select AGP_INTEL
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        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.
        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.
@@ -517,30 +827,65 @@ config FB_I810_GTF
   
           If unsure, say N.
 
   
           If unsure, say N.
 
+config FB_I810_I2C
+       bool "Enable DDC Support"
+       depends on FB_I810 && FB_I810_GTF
+       select I2C
+       select I2C_ALGOBIT
+       select FB_DDC
+       help
+
 config FB_INTEL
 config FB_INTEL
-       tristate "Intel 830M/845G/852GM/855GM/865G support (EXPERIMENTAL)"
-       depends on FB && EXPERIMENTAL && PCI && X86 && !X86_64
+       tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G support (EXPERIMENTAL)"
+       depends on FB && EXPERIMENTAL && PCI && X86
        select AGP
        select AGP_INTEL
        select AGP
        select AGP_INTEL
+       select I2C_ALGOBIT if FB_INTEL_I2C
+       select I2C if FB_INTEL_I2C
+       select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This driver supports the on-board graphics built in to the Intel
        help
          This driver supports the on-board graphics built in to the Intel
-          830M/845G/852GM/855GM/865G chipsets.
+          830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM chipsets.
           Say Y if you have and plan to use such a board.
 
           Say Y if you have and plan to use such a board.
 
-          To compile this driver as a module, choose M here: the
+         If you say Y here and want DDC/I2C support you must first say Y to
+         "I2C support" and "I2C bit-banging support" in the character devices
+         section.
+
+         If you say M here then "I2C support" and "I2C bit-banging support"
+         can be build either as modules or built-in.
+
+         To compile this driver as a module, choose M here: the
          module will be called intelfb.
 
          module will be called intelfb.
 
+         For more information, please read <file:Documentation/fb/intelfb.txt>
+
 config FB_INTEL_DEBUG
 config FB_INTEL_DEBUG
-        bool "Intel driver Debug Messages"
+       bool "Intel driver Debug Messages"
        depends on FB_INTEL
        ---help---
          Say Y here if you want the Intel driver to output all sorts
        depends on FB_INTEL
        ---help---
          Say Y here if you want the Intel driver to output all sorts
-         of debugging informations to provide to the maintainer when
+         of debugging information to provide to the maintainer when
          something goes wrong.
 
          something goes wrong.
 
+config FB_INTEL_I2C
+       bool "DDC/I2C for Intel framebuffer support"
+       depends on FB_INTEL
+       default y
+       help
+         Say Y here if you want DDC/I2C support for your on-board Intel graphics.
+
 config FB_MATROX
        tristate "Matrox acceleration"
        depends on FB && PCI
 config FB_MATROX
        tristate "Matrox acceleration"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       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
        ---help---
          Say Y here if you have a Matrox Millennium, Matrox Millennium II,
          Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
@@ -673,22 +1018,17 @@ config FB_MATROX_MULTIHEAD
          There is no need for enabling 'Matrox multihead support' if you have
          only one Matrox card in the box.
 
          There is no need for enabling 'Matrox multihead support' if you have
          only one Matrox card in the box.
 
-config FB_RADEON_OLD
-       tristate "ATI Radeon display support (Old driver)"
-       depends on FB && PCI
-       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
-         don't need to choose this to run the Radeon in plain VGA mode.
-         There is a product page at
-         <http://www.ati.com/na/pages/products/pc/radeon32/index.html>.
-
 config FB_RADEON
        tristate "ATI Radeon display support"
        depends on FB && PCI
        select I2C_ALGOBIT if FB_RADEON_I2C
        select I2C if FB_RADEON_I2C
 config FB_RADEON
        tristate "ATI Radeon display support"
        depends on FB && PCI
        select I2C_ALGOBIT if FB_RADEON_I2C
        select I2C if FB_RADEON_I2C
+       select FB_DDC if FB_RADEON_I2C
        select FB_MODE_HELPERS
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       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
        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
@@ -702,7 +1042,7 @@ config FB_RADEON
          can be build either as modules or built-in.
 
          There is a product page at
          can be build either as modules or built-in.
 
          There is a product page at
-         <http://www.ati.com/na/pages/products/pc/radeon32/index.html>.
+         http://apps.ati.com/ATIcompare/
 
 config FB_RADEON_I2C
        bool "DDC/I2C for ATI Radeon support"
 
 config FB_RADEON_I2C
        bool "DDC/I2C for ATI Radeon support"
@@ -711,18 +1051,30 @@ config FB_RADEON_I2C
        help
          Say Y here if you want DDC/I2C support for your Radeon board. 
 
        help
          Say Y here if you want DDC/I2C support for your Radeon board. 
 
+config FB_RADEON_BACKLIGHT
+       bool "Support for backlight control"
+       depends on FB_RADEON && PMAC_BACKLIGHT
+       select FB_BACKLIGHT
+       default y
+       help
+         Say Y here if you want to control the backlight of your display.
+
 config FB_RADEON_DEBUG
        bool "Lots of debug output from Radeon driver"
        depends on FB_RADEON
        default n
        help
          Say Y here if you want the Radeon driver to output all sorts
 config FB_RADEON_DEBUG
        bool "Lots of debug output from Radeon driver"
        depends on FB_RADEON
        default n
        help
          Say Y here if you want the Radeon driver to output all sorts
-         of debugging informations to provide to the maintainer when
+         of debugging information to provide to the maintainer when
          something goes wrong.
 
 config FB_ATY128
        tristate "ATI Rage128 display support"
        depends on FB && PCI
          something goes wrong.
 
 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_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
        help
          This driver supports graphics boards with the ATI Rage128 chips.
          Say Y if you have such a graphics board and read
@@ -731,9 +1083,21 @@ config FB_ATY128
          To compile this driver as a module, choose M here: the
          module will be called aty128fb.
 
          To compile this driver as a module, choose M here: the
          module will be called aty128fb.
 
+config FB_ATY128_BACKLIGHT
+       bool "Support for backlight control"
+       depends on FB_ATY128 && PMAC_BACKLIGHT
+       select FB_BACKLIGHT
+       default y
+       help
+         Say Y here if you want to control the backlight of your display.
+
 config FB_ATY
        tristate "ATI Mach64 display support" if PCI || ATARI
 config FB_ATY
        tristate "ATI Mach64 display support" if PCI || ATARI
-       depends on FB
+       depends on FB && !SPARC32
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       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.
        help
          This driver supports graphics boards with the ATI Mach64 chips.
          Say Y if you have such a graphics board.
@@ -758,12 +1122,6 @@ config FB_ATY_GENERIC_LCD
          Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
          Rage XC, or Rage XL chipset.
 
          Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
          Rage XC, or Rage XL chipset.
 
-config FB_ATY_XL_INIT
-       bool "Rage XL No-BIOS Init support"
-       depends on FB_ATY_CT
-       help
-         Say Y here to support booting a Rage XL without BIOS support.
-
 config FB_ATY_GX
        bool "Mach64 GX support" if PCI
        depends on FB_ATY
 config FB_ATY_GX
        bool "Mach64 GX support" if PCI
        depends on FB_ATY
@@ -775,12 +1133,30 @@ config FB_ATY_GX
          is at
          <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
 
          is at
          <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
 
+config FB_ATY_BACKLIGHT
+       bool "Support for backlight control"
+       depends on FB_ATY && PMAC_BACKLIGHT
+       select FB_BACKLIGHT
+       default y
+       help
+         Say Y here if you want to control the backlight of your display.
+
+config FB_S3TRIO
+       bool "S3 Trio display support"
+       depends on (FB = y) && PPC && BROKEN
+       help
+         If you have a S3 Trio say Y. Say N for S3 Virge.
+
 config FB_SAVAGE
        tristate "S3 Savage support"
        depends on FB && PCI && EXPERIMENTAL
        select I2C_ALGOBIT if FB_SAVAGE_I2C
        select I2C if FB_SAVAGE_I2C
 config FB_SAVAGE
        tristate "S3 Savage support"
        depends on FB && PCI && EXPERIMENTAL
        select I2C_ALGOBIT if FB_SAVAGE_I2C
        select I2C if FB_SAVAGE_I2C
+       select FB_DDC if FB_SAVAGE_I2C
        select FB_MODE_HELPERS
        select FB_MODE_HELPERS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This driver supports notebooks and computers with S3 Savage PCI/AGP
          chips.
        help
          This driver supports notebooks and computers with S3 Savage PCI/AGP
          chips.
@@ -791,7 +1167,7 @@ config FB_SAVAGE
          will be called savagefb.
 
 config FB_SAVAGE_I2C
          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
        depends on FB_SAVAGE
        help
          This enables I2C support for S3 Savage Chipsets.  This is used
@@ -803,7 +1179,7 @@ config FB_SAVAGE_I2C
          here.
 
 config FB_SAVAGE_ACCEL
          here.
 
 config FB_SAVAGE_ACCEL
-       tristate "Enable Console Acceleration"
+       bool "Enable Console Acceleration"
        depends on FB_SAVAGE
        default n
        help
        depends on FB_SAVAGE
        default n
        help
@@ -812,11 +1188,15 @@ config FB_SAVAGE_ACCEL
           choose N here.
 
 config FB_SIS
           choose N here.
 
 config FB_SIS
-       tristate "SiS acceleration"
+       tristate "SiS/XGI display support"
        depends on FB && PCI
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
        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>
+         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.
+         Specs available at <http://www.sis.com> and <http://www.xgitech.com>.
 
          To compile this driver as a module, choose M here; the module
          will be called sisfb.
 
          To compile this driver as a module, choose M here; the module
          will be called sisfb.
@@ -828,16 +1208,20 @@ config FB_SIS_300
          Say Y here to support use of the SiS 300/305, 540, 630 and 730.
 
 config FB_SIS_315
          Say Y here to support use of the SiS 300/305, 540, 630 and 730.
 
 config FB_SIS_315
-       bool "SiS 315/330 series support"
+       bool "SiS 315/330/340 series and XGI support"
        depends on FB_SIS
        help
        depends on FB_SIS
        help
-         Say Y here to support use of the SiS 315 and 330 series
-         (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760).
+         Say Y here to support use of the SiS 315, 330 and 340 series
+         (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
+         as XGI V3XT, V5, V8 and Z7.
 
 config FB_NEOMAGIC
        tristate "NeoMagic display support"
        depends on FB && PCI
        select FB_MODE_HELPERS
 
 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
        help
          This driver supports notebooks with NeoMagic PCI chips.
          Say Y if you have such a graphics card. 
        help
          This driver supports notebooks with NeoMagic PCI chips.
          Say Y if you have such a graphics card. 
@@ -848,6 +1232,9 @@ config FB_NEOMAGIC
 config FB_KYRO
        tristate "IMG Kyro support"
        depends on FB && PCI
 config FB_KYRO
        tristate "IMG Kyro support"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
          graphics board.
        help
          Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
          graphics board.
@@ -858,6 +1245,9 @@ config FB_KYRO
 config FB_3DFX
        tristate "3Dfx Banshee/Voodoo3 display support"
        depends on FB && PCI
 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
        help
          This driver supports graphics boards with the 3Dfx Banshee/Voodoo3
          chips. Say Y if you have such a graphics board.
        help
          This driver supports graphics boards with the 3Dfx Banshee/Voodoo3
          chips. Say Y if you have such a graphics board.
@@ -876,6 +1266,9 @@ config FB_3DFX_ACCEL
 config FB_VOODOO1
        tristate "3Dfx Voodoo Graphics (sst1) support"
        depends on FB && PCI
 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
        ---help---
          Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or 
          Voodoo2 (cvg) based graphics card.
        ---help---
          Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or 
          Voodoo2 (cvg) based graphics card.
@@ -888,17 +1281,49 @@ config FB_VOODOO1
          Please read the <file:Documentation/fb/README-sstfb.txt> for supported
          options and other important info  support.
 
          Please read the <file:Documentation/fb/README-sstfb.txt> for supported
          options and other important info  support.
 
+config FB_CYBLA
+       tristate "Cyberblade/i1 support"
+       depends on FB && PCI && X86_32 && !64BIT
+       select FB_CFB_IMAGEBLIT
+       select VIDEO_SELECT
+       ---help---
+         This driver is supposed to support the Trident Cyberblade/i1
+         graphics core integrated in the VIA VT8601A North Bridge,
+         also known as VIA Apollo PLE133.
+
+         Status:
+          - Developed, tested and working on EPIA 5000 and EPIA 800.
+          - Does work reliable on all systems with CRT/LCD connected to
+            normal VGA ports.
+          - Should work on systems that do use the internal LCD port, but
+            this is absolutely not tested.
+
+         Character imageblit, copyarea and rectangle fill are hw accelerated,
+         ypan scrolling is used by default.
+
+         Please do read <file:Documentation/fb/cyblafb/*>.
+
+         To compile this driver as a module, choose M here: the
+         module will be called cyblafb.
+
 config FB_TRIDENT
        tristate "Trident support"
        depends on FB && PCI
 config FB_TRIDENT
        tristate "Trident support"
        depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        ---help---
          This driver is supposed to support graphics boards with the
          Trident CyberXXXX/Image/CyberBlade chips mostly found in laptops
          but also on some motherboards. For more information, read
          <file:Documentation/fb/tridentfb.txt>
 
        ---help---
          This driver is supposed to support graphics boards with the
          Trident CyberXXXX/Image/CyberBlade chips mostly found in laptops
          but also on some motherboards. For more information, read
          <file:Documentation/fb/tridentfb.txt>
 
+         Cyberblade/i1 support will be removed soon, use the cyblafb driver
+         instead.
+
          Say Y if you have such a graphics board.
 
          Say Y if you have such a graphics board.
 
+
          To compile this driver as a module, choose M here: the
          module will be called tridentfb.
 
          To compile this driver as a module, choose M here: the
          module will be called tridentfb.
 
@@ -909,7 +1334,6 @@ config FB_TRIDENT_ACCEL
        This will compile the Trident frame buffer device with
        acceleration functions.
 
        This will compile the Trident frame buffer device with
        acceleration functions.
 
-
 config FB_PM3
        tristate "Permedia3 support"
        depends on FB && PCI && BROKEN
 config FB_PM3
        tristate "Permedia3 support"
        depends on FB && PCI && BROKEN
@@ -919,51 +1343,28 @@ config FB_PM3
          similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
          and maybe other boards.
 
          similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
          and maybe other boards.
 
-config FB_E1356
-       tristate "Epson SED1356 framebuffer support"
-       depends on FB && EXPERIMENTAL && PCI && MIPS
-
-config PB1000_CRT
-       bool "Use CRT on Pb1000 (J65)"
-       depends on MIPS_PB1000=y && FB_E1356
-
-config PB1000_NTSC
-       bool "Use Compsite NTSC on Pb1000 (J63)"
-       depends on MIPS_PB1000=y && FB_E1356
-
-config PB1000_TFT
-       bool "Use TFT Panel on Pb1000 (J64)"
-       depends on MIPS_PB1000=y && FB_E1356
-
-config PB1500_CRT
-       bool "Use CRT on Pb1500 " if MIPS_PB1500=y
-       depends on FB_E1356
-
-config PB1500_CRT
-       prompt "Use CRT on Pb1100 "
-       depends on FB_E1356 && MIPS_PB1100=y
-
-config PB1500_TFT
-       bool "Use TFT Panel on Pb1500 " if MIPS_PB1500=y
-       depends on FB_E1356
-
-config PB1500_TFT
-       prompt "Use TFT Panel on Pb1100 "
-       depends on FB_E1356 && MIPS_PB1100=y
-
 config FB_AU1100
        bool "Au1100 LCD Driver"
 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
 
 
-config FB_SBUS
-       bool "SBUS and UPA framebuffers"
-       depends on FB && (SPARC32 || SPARC64)
+config FB_AU1200
+       bool "Au1200 LCD Driver"
+       depends on FB && MIPS && SOC_AU1200
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
        help
-         Say Y if you want support for SBUS or UPA based frame buffer device.
+         This is the framebuffer driver for the AMD Au1200 SOC.  It can drive
+         various panels and CRTs by passing in kernel cmd line option
+         au1200fb:panel=<name>.
+
+source "drivers/video/geode/Kconfig"
 
 config FB_FFB
        bool "Creator/Creator3D/Elite3D support"
        depends on FB_SBUS && SPARC64
 
 config FB_FFB
        bool "Creator/Creator3D/Elite3D support"
        depends on FB_SBUS && SPARC64
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This is the frame buffer device driver for the Creator, Creator3D,
          and Elite3D graphics boards.
        help
          This is the frame buffer device driver for the Creator, Creator3D,
          and Elite3D graphics boards.
@@ -971,6 +1372,9 @@ config FB_FFB
 config FB_TCX
        bool "TCX (SS4/SS5 only) support"
        depends on FB_SBUS
 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
        help
          This is the frame buffer device driver for the TCX 24/8bit frame
          buffer.
        help
          This is the frame buffer device driver for the TCX 24/8bit frame
          buffer.
@@ -978,6 +1382,9 @@ config FB_TCX
 config FB_CG14
        bool "CGfourteen (SX) support"
        depends on FB_SBUS
 config FB_CG14
        bool "CGfourteen (SX) support"
        depends on FB_SBUS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This is the frame buffer device driver for the CGfourteen frame
          buffer on Desktop SPARCsystems with the SX graphics option.
        help
          This is the frame buffer device driver for the CGfourteen frame
          buffer on Desktop SPARCsystems with the SX graphics option.
@@ -985,6 +1392,9 @@ config FB_CG14
 config FB_P9100
        bool "P9100 (Sparcbook 3 only) support"
        depends on FB_SBUS
 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
        help
          This is the frame buffer device driver for the P9100 card
          supported on Sparcbook 3 machines.
        help
          This is the frame buffer device driver for the P9100 card
          supported on Sparcbook 3 machines.
@@ -992,17 +1402,23 @@ config FB_P9100
 config FB_LEO
        bool "Leo (ZX) support"
        depends on FB_SBUS
 config FB_LEO
        bool "Leo (ZX) support"
        depends on FB_SBUS
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          This is the frame buffer device driver for the SBUS-based Sun ZX
          (leo) frame buffer cards.
 
 config FB_PCI
        bool "PCI framebuffers"
        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 && SPARC
 
 config FB_IGA
        bool "IGA 168x display support"
        depends on SPARC32 && FB_PCI
 
 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
        help
          This is the framebuffer device for the INTERGRAPHICS 1680 and
          successor frame buffer cards.
        help
          This is the framebuffer device for the INTERGRAPHICS 1680 and
          successor frame buffer cards.
@@ -1010,27 +1426,39 @@ config FB_IGA
 config FB_HIT
        tristate "HD64461 Frame Buffer support"
        depends on FB && HD64461
 config FB_HIT
        tristate "HD64461 Frame Buffer support"
        depends on FB && HD64461
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        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"
        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) && TC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        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"
        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) && TC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        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"
        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) && TC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          Support for the PMAGB-B TURBOchannel framebuffer card used mainly
          in the MIPS-based DECstation series. The card is currently only
        help
          Support for the PMAGB-B TURBOchannel framebuffer card used mainly
          in the MIPS-based DECstation series. The card is currently only
@@ -1038,7 +1466,10 @@ config FB_PMAGB_B
 
 config FB_MAXINE
        bool "Maxine (Personal DECstation) onboard framebuffer support"
 
 config FB_MAXINE
        bool "Maxine (Personal DECstation) onboard framebuffer support"
-       depends on FB && MACH_DECSTATION && TC
+       depends on (FB = y) && MACH_DECSTATION
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        help
          Support for the onboard framebuffer (1024x768x8) in the Personal
          DECstation series (Personal DECstation 5000/20, /25, /33, /50,
        help
          Support for the onboard framebuffer (1024x768x8) in the Personal
          DECstation series (Personal DECstation 5000/20, /25, /33, /50,
@@ -1046,7 +1477,10 @@ config FB_MAXINE
 
 config FB_TX3912
        bool "TMPTX3912/PR31700 frame buffer support"
 
 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
        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>.
        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>.
@@ -1054,15 +1488,21 @@ config FB_TX3912
          Say Y here to enable kernel support for the on-board framebuffer.
 
 config FB_G364
          Say Y here to enable kernel support for the on-board framebuffer.
 
 config FB_G364
-       bool
-       depends on MIPS_MAGNUM_4000 || OLIVETTI_M700
+       bool "G364 frame buffer support"
+       depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        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"
        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
        help
          Say Y here if you want to support the built-in frame buffer of
          the Motorola 68328 CPU family.
        help
          Say Y here if you want to support the built-in frame buffer of
          the Motorola 68328 CPU family.
@@ -1070,26 +1510,16 @@ config FB_68328
 config FB_PXA
        tristate "PXA LCD framebuffer support"
        depends on FB && ARCH_PXA
 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
        ---help---
          Frame buffer driver for the built-in LCD controller in the Intel
          PXA2x0 processor.
 
          This driver is also available as a module ( = code which can be
          inserted and removed from the running kernel whenever you want). The
        ---help---
          Frame buffer driver for the built-in LCD controller in the Intel
          PXA2x0 processor.
 
          This driver is also available as a module ( = code which can be
          inserted and removed from the running kernel whenever you want). The
-         module will be called vfb. If you want to compile it as a module,
-         say M here and read <file:Documentation/modules.txt>.
-
-         If unsure, say N.
-
-config FB_W100
-       tristate "W100 frame buffer support"
-       depends on FB && PXA_SHARPSL
-       ---help---
-         Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
-
-         This driver is also available as a module ( = code which can be
-         inserted and removed from the running kernel whenever you want). The
-         module will be called vfb. If you want to compile it as a module,
+         module will be called pxafb. If you want to compile it as a module,
          say M here and read <file:Documentation/modules.txt>.
 
          If unsure, say N.
          say M here and read <file:Documentation/modules.txt>.
 
          If unsure, say N.
@@ -1111,9 +1541,96 @@ config FB_PXA_PARAMETERS
 
          <file:Documentation/fb/pxafb.txt> describes the available parameters.
 
 
          <file:Documentation/fb/pxafb.txt> describes the available parameters.
 
+config FB_MBX
+       tristate "2700G LCD framebuffer support"
+       depends on FB && ARCH_PXA
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       ---help---
+         Framebuffer driver for the Intel 2700G (Marathon) Graphics
+         Accelerator
+
+config FB_MBX_DEBUG
+       bool "Enable debugging info via debugfs"
+       depends on FB_MBX && DEBUG_FS
+       default n
+       ---help---
+         Enable this if you want debugging information using the debug
+         filesystem (debugfs)
+
+         If unsure, say N.
+
+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
+       ---help---
+         Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
+
+         This driver is also available as a module ( = code which can be
+         inserted and removed from the running kernel whenever you want). The
+         module will be called w100fb. If you want to compile it as a module,
+         say M here and read <file:Documentation/modules.txt>.
+
+         If unsure, say N.
+
+config FB_S3C2410
+       tristate "S3C2410 LCD framebuffer support"
+       depends on FB && ARCH_S3C2410
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       ---help---
+         Frame buffer driver for the built-in LCD controller in the Samsung
+         S3C2410 processor.
+
+         This driver is also available as a module ( = code which can be
+         inserted and removed from the running kernel whenever you want). The
+         module will be called s3c2410fb. If you want to compile it as a module,
+         say M here and read <file:Documentation/modules.txt>.
+
+         If unsure, say N.
+config FB_S3C2410_DEBUG
+       bool "S3C2410 lcd debug messages"
+       depends on FB_S3C2410
+       help
+         Turn on debugging messages. Note that you can set/unset at run time
+         through sysfs
+
+config FB_PNX4008_DUM
+       tristate "Display Update Module support on Philips PNX4008 board"
+       depends on FB && ARCH_PNX4008
+       ---help---
+         Say Y here to enable support for PNX4008 Display Update Module (DUM)
+
+config FB_PNX4008_DUM_RGB
+       tristate "RGB Framebuffer support on Philips PNX4008 board"
+       depends on FB_PNX4008_DUM
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       ---help---
+         Say Y here to enable support for PNX4008 RGB Framebuffer
+
+config FB_IBM_GXT4500
+       tristate "Framebuffer support for IBM GXT4500P adaptor"
+       depends on PPC
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       ---help---
+         Say Y here to enable support for the IBM GXT4500P display
+         adaptor, found on some IBM System P (pSeries) machines.
+
 config FB_VIRTUAL
        tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
        depends on FB
 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
        ---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
        ---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
@@ -1125,7 +1642,8 @@ config FB_VIRTUAL
          kernel option `video=vfb:'.
 
          To compile this driver as a module, choose M here: the
          kernel option `video=vfb:'.
 
          To compile this driver as a module, choose M here: the
-         module will be called vfb.
+         module will be called vfb. In order to load it, you must use
+         the vfb_enable=1 option.
 
          If unsure, say N.
 if VT
 
          If unsure, say N.
 if VT
@@ -1136,7 +1654,7 @@ if FB || SGI_NEWPORT_CONSOLE
        source "drivers/video/logo/Kconfig"
 endif
 
        source "drivers/video/logo/Kconfig"
 endif
 
-if FB && SYSFS
+if SYSFS
        source "drivers/video/backlight/Kconfig"
 endif
 
        source "drivers/video/backlight/Kconfig"
 endif