fbdev: add fb_read/fb_write functions for framebuffers in system RAM
[safe/jmp/linux-2.6] / drivers / video / Kconfig
index 82288a7..85d0e87 100644 (file)
@@ -4,20 +4,12 @@
 
 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.
+source "drivers/video/backlight/Kconfig"
+source "drivers/video/display/Kconfig"
 
 
-        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 VGASTATE
+       tristate
+       default n
 
 config FB
        tristate "Support for frame buffer devices"
 
 config FB
        tristate "Support for frame buffer devices"
@@ -53,6 +45,29 @@ 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 FIRMWARE_EDID
+       bool "Enable firmware EDID"
+       depends on FB
+       default n
+       ---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_DDC
+       tristate
+       depends on FB
+       select I2C_ALGOBIT
+       select I2C
+       default n
+
 config FB_CFB_FILLRECT
        tristate
        depends on FB
 config FB_CFB_FILLRECT
        tristate
        depends on FB
@@ -80,16 +95,63 @@ config FB_CFB_IMAGEBLIT
          blitting. This is used by drivers that don't provide their own
          (accelerated) version.
 
          blitting. This is used by drivers that don't provide their own
          (accelerated) version.
 
-config FB_MACMODES
+config FB_SYS_FILLRECT
+       tristate
+       depends on FB
+       default n
+       ---help---
+         Include the sys_fillrect function for generic software rectangle
+         filling. This is used by drivers that don't provide their own
+         (accelerated) version and the framebuffer is in system RAM.
+
+config FB_SYS_COPYAREA
+       tristate
+       depends on FB
+       default n
+       ---help---
+         Include the sys_copyarea function for generic software area copying.
+         This is used by drivers that don't provide their own (accelerated)
+         version and the framebuffer is in system RAM.
+
+config FB_SYS_IMAGEBLIT
+       tristate
+       depends on FB
+       default n
+       ---help---
+         Include the sys_imageblit function for generic software image
+         blitting. This is used by drivers that don't provide their own
+         (accelerated) version and the framebuffer is in system RAM.
+
+config FB_SYS_FOPS
        tristate
        depends on FB
        default n
 
        tristate
        depends on FB
        default n
 
-config FB_BACKLIGHT
-       bool
+config FB_DEFERRED_IO
+       bool
+       depends on FB
+       default y
+
+config FB_SVGALIB
+       tristate
+       depends on FB
+       default n
+       ---help---
+         Common utility functions useful to fbdev drivers of VGA-based
+         cards.
+
+config FB_MACMODES
+       tristate
        depends on FB
        default n
 
        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
@@ -119,6 +181,9 @@ config FB_TILEBLITTING
         This is particularly important to one driver, matroxfb.  If
         unsure, say N.
 
         This is particularly important to one driver, matroxfb.  If
         unsure, say N.
 
+comment "Frame buffer hardware drivers"
+       depends on FB
+
 config FB_CIRRUS
        tristate "Cirrus Logic support"
        depends on FB && (ZORRO || PCI)
 config FB_CIRRUS
        tristate "Cirrus Logic support"
        depends on FB && (ZORRO || PCI)
@@ -168,7 +233,7 @@ config FB_ARMCLCD
 
          If you want to compile this as a module (=code which can be
          inserted into and removed from the running kernel), say M
 
          If you want to compile this as a module (=code which can be
          inserted into and removed from the running kernel), say M
-         here and read <file:Documentation/modules.txt>.  The module
+         here and read <file:Documentation/kbuild/modules.txt>.  The module
          will be called amba-clcd.
 
 choice
          will be called amba-clcd.
 
 choice
@@ -181,7 +246,7 @@ 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"
        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
+         color QVGA, HRTFT panel.  The LogicPD device includes
          an integrated HRTFT controller IC.
          The native resolution is 240x320.
 
          an integrated HRTFT controller IC.
          The native resolution is 240x320.
 
@@ -339,42 +404,6 @@ config FB_AMIGA_AGA
          and CD32. If you intend to run Linux on any of these systems, say Y;
          otherwise say N.
 
          and CD32. If you intend to run Linux on any of these systems, say Y;
          otherwise say N.
 
-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
-         you have any questions, be sure to ask!). Say N unless you have a
-         Cybervision 64 or plan to get one before you next recompile the
-         kernel. Please note that this driver DOES NOT support the
-         Cybervision 64/3D card, as they use incompatible video chips.
-
-config FB_VIRGE
-       bool "Amiga CyberVision 64/3D support "
-       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
-         you have any questions, be sure to ask!). Say N unless you have a
-         Cybervision 64/3D or plan to get one before you next recompile the
-         kernel. Please note that this driver DOES NOT support the older
-         Cybervision 64 card, as they use incompatible video chips.
-
-config FB_RETINAZ3
-       tristate "Amiga Retina Z3 support"
-       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
-         the kernel.
-
 config FB_FM2
        bool "Amiga FrameMaster II/Rainbow II support"
        depends on (FB = y) && ZORRO
 config FB_FM2
        bool "Amiga FrameMaster II/Rainbow II support"
        depends on (FB = y) && ZORRO
@@ -388,28 +417,31 @@ config FB_FM2
 config FB_ARC
        tristate "Arc Monochrome LCD board support"
        depends on FB && X86
 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
+       select FB_SYS_FILLRECT
+       select FB_SYS_COPYAREA
+       select FB_SYS_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
        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 anticpate using
+         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"
          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"
-       depends on (FB = y) && ATARI && BROKEN
+       depends on (FB = y) && ATARI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
        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 = y) && (PPC64 || PPC_OF)
+       depends on (FB = y) && (PPC64 || PPC_OF) && (!PPC_PSERIES || PCI)
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@ -485,6 +517,7 @@ config FB_VGA16
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select VGASTATE
        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.
@@ -529,14 +562,25 @@ config FB_HP300
        default y
 
 config FB_TGA
        default y
 
 config FB_TGA
-       tristate "TGA framebuffer support"
-       depends on FB && ALPHA
+       tristate "TGA/SFB+ framebuffer support"
+       depends on FB && (ALPHA || TC)
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
-       help
-         This is the frame buffer device driver for generic TGA graphic
-         cards. Say Y if you have one of those.
+       select BITREVERSE
+       ---help---
+         This is the frame buffer device driver for generic TGA and SFB+
+         graphic cards.  These include DEC ZLXp-E1, -E2 and -E3 PCI cards,
+         also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3
+         TURBOchannel cards, also known as PMAGD-A, -B and -C.
+
+         Due to hardware limitations ZLX-E2 and E3 cards are not supported
+         for DECstation 5000/200 systems.  Additionally due to firmware
+         limitations these cards may cause troubles with booting DECstation
+         5000/240 and /260 systems, but are fully supported under Linux if
+         you manage to get it going. ;-)
+
+         Say Y if you have one of those.
 
 config FB_VESA
        bool "VESA VGA graphics support"
 
 config FB_VESA
        bool "VESA VGA graphics support"
@@ -544,6 +588,7 @@ config FB_VESA
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        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.
        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.
@@ -552,13 +597,27 @@ config FB_VESA
 
 config FB_IMAC
        bool "Intel-based Macintosh Framebuffer Support"
 
 config FB_IMAC
        bool "Intel-based Macintosh Framebuffer Support"
-       depends on (FB = y) && X86
+       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
 
        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_HECUBA
+       tristate "Hecuba board support"
+       depends on FB && X86 && MMU
+       select FB_SYS_FILLRECT
+       select FB_SYS_COPYAREA
+       select FB_SYS_IMAGEBLIT
+       select FB_DEFERRED_IO
+       help
+         This enables support for the Hecuba board. This driver was tested
+         with an E-Ink 800x600 display and x86 SBCs through a 16 bit GPIO
+         interface (8 bit data, 4 bit control). If you anticpate 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_HGA
        tristate "Hercules mono graphics support"
        depends on FB && X86
 config FB_HGA
        tristate "Hercules mono graphics support"
        depends on FB && X86
@@ -608,10 +667,6 @@ config FB_GBE_MEM
          This is the amount of memory reserved for the framebuffer,
          which can be any value between 1MB and 8MB.
 
          This is the amount of memory reserved for the framebuffer,
          which can be any value between 1MB and 8MB.
 
-config FB_SUN3
-       bool "Sun3 framebuffer support"
-       depends on (FB = y) && (SUN3 || SUN3X) && BROKEN
-
 config FB_SBUS
        bool "SBUS and UPA framebuffers"
        depends on (FB = y) && SPARC
 config FB_SBUS
        bool "SBUS and UPA framebuffers"
        depends on (FB = y) && SPARC
@@ -620,7 +675,7 @@ config FB_SBUS
 
 config FB_BW2
        bool "BWtwo support"
 
 config FB_BW2
        bool "BWtwo support"
-       depends on (FB = y) && (SPARC && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       depends on (FB = y) && (SPARC && FB_SBUS)
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@ -629,7 +684,7 @@ config FB_BW2
 
 config FB_CG3
        bool "CGthree support"
 
 config FB_CG3
        bool "CGthree support"
-       depends on (FB = y) && (SPARC && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       depends on (FB = y) && (SPARC && FB_SBUS)
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@ -638,7 +693,7 @@ config FB_CG3
 
 config FB_CG6
        bool "CGsix (GX,TurboGX) support"
 
 config FB_CG6
        bool "CGsix (GX,TurboGX) support"
-       depends on (FB = y) && (SPARC && FB_SBUS || (SUN3 || SUN3X) && FB_SUN3)
+       depends on (FB = y) && (SPARC && FB_SBUS)
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        help
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        help
@@ -692,12 +747,13 @@ config FB_S1D13XXX
 config FB_NVIDIA
        tristate "nVidia Framebuffer Support"
        depends on FB && PCI
 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_BACKLIGHT if FB_NVIDIA_BACKLIGHT
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select BITREVERSE
+       select VGASTATE
        help
          This driver supports graphics boards with the nVidia chips, TNT
          and newer. For very old chipsets, such as the RIVA128, then use
        help
          This driver supports graphics boards with the nVidia chips, TNT
          and newer. For very old chipsets, such as the RIVA128, then use
@@ -710,6 +766,7 @@ config FB_NVIDIA
 config FB_NVIDIA_I2C
        bool "Enable DDC Support"
        depends on FB_NVIDIA
 config FB_NVIDIA_I2C
        bool "Enable DDC Support"
        depends on FB_NVIDIA
+       select FB_DDC
        help
          This enables I2C support for nVidia Chipsets.  This is used
          only for getting EDID information from the attached display
        help
          This enables I2C support for nVidia Chipsets.  This is used
          only for getting EDID information from the attached display
@@ -721,10 +778,7 @@ config FB_NVIDIA_I2C
 
 config FB_NVIDIA_BACKLIGHT
        bool "Support for backlight control"
 
 config FB_NVIDIA_BACKLIGHT
        bool "Support for backlight control"
-       depends on FB_NVIDIA && PPC_PMAC
-       select FB_BACKLIGHT
-       select BACKLIGHT_LCD_SUPPORT
-       select BACKLIGHT_CLASS_DEVICE
+       depends on FB_NVIDIA
        default y
        help
          Say Y here if you want to control the backlight of your display.
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -732,12 +786,13 @@ config FB_NVIDIA_BACKLIGHT
 config FB_RIVA
        tristate "nVidia Riva support"
        depends on FB && PCI
 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_BACKLIGHT if FB_RIVA_BACKLIGHT
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select BITREVERSE
+       select VGASTATE
        help
          This driver supports graphics boards with the nVidia Riva/Geforce
          chips.
        help
          This driver supports graphics boards with the nVidia Riva/Geforce
          chips.
@@ -749,6 +804,7 @@ config FB_RIVA
 config FB_RIVA_I2C
        bool "Enable DDC Support"
        depends on FB_RIVA
 config FB_RIVA_I2C
        bool "Enable DDC Support"
        depends on FB_RIVA
+       select FB_DDC
        help
          This enables I2C support for nVidia Chipsets.  This is used
          only for getting EDID information from the attached display
        help
          This enables I2C support for nVidia Chipsets.  This is used
          only for getting EDID information from the attached display
@@ -764,15 +820,12 @@ 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.
 
 config FB_RIVA_BACKLIGHT
        bool "Support for backlight control"
          something goes wrong.
 
 config FB_RIVA_BACKLIGHT
        bool "Support for backlight control"
-       depends on FB_RIVA && PPC_PMAC
-       select FB_BACKLIGHT
-       select BACKLIGHT_LCD_SUPPORT
-       select BACKLIGHT_CLASS_DEVICE
+       depends on FB_RIVA
        default y
        help
          Say Y here if you want to control the backlight of your display.
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -786,6 +839,7 @@ config FB_I810
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select VGASTATE
        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.
@@ -822,12 +876,11 @@ config FB_I810_GTF
 config FB_I810_I2C
        bool "Enable DDC Support"
        depends on FB_I810 && FB_I810_GTF
 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
        help
 
 config FB_INTEL
-       tristate "Intel 830M/845G/852GM/855GM/865G support (EXPERIMENTAL)"
+       tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G support (EXPERIMENTAL)"
        depends on FB && EXPERIMENTAL && PCI && X86
        select AGP
        select AGP_INTEL
        depends on FB && EXPERIMENTAL && PCI && X86
        select AGP
        select AGP_INTEL
@@ -837,20 +890,37 @@ config FB_INTEL
        select FB_CFB_IMAGEBLIT
        help
          This driver supports the on-board graphics built in to the Intel
        select FB_CFB_IMAGEBLIT
        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
+       select FB_DDC
+       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
@@ -925,8 +995,8 @@ config FB_MATROX_G
 
 config FB_MATROX_I2C
        tristate "Matrox I2C support"
 
 config FB_MATROX_I2C
        tristate "Matrox I2C support"
-       depends on FB_MATROX && I2C
-       select I2C_ALGOBIT
+       depends on FB_MATROX
+       select FB_DDC
        ---help---
          This drivers creates I2C buses which are needed for accessing the
          DDC (I2C) bus present on all Matroxes, an I2C bus which
        ---help---
          This drivers creates I2C buses which are needed for accessing the
          DDC (I2C) bus present on all Matroxes, an I2C bus which
@@ -994,8 +1064,7 @@ config FB_MATROX_MULTIHEAD
 config FB_RADEON
        tristate "ATI Radeon display support"
        depends on FB && PCI
 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_BACKLIGHT if FB_RADEON_BACKLIGHT
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
@@ -1019,16 +1088,14 @@ config FB_RADEON
 config FB_RADEON_I2C
        bool "DDC/I2C for ATI Radeon support"
        depends on FB_RADEON
 config FB_RADEON_I2C
        bool "DDC/I2C for ATI Radeon support"
        depends on FB_RADEON
+       select FB_DDC
        default y
        help
          Say Y here if you want DDC/I2C support for your Radeon board. 
 
 config FB_RADEON_BACKLIGHT
        bool "Support for backlight control"
        default y
        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 && PPC_PMAC
-       select FB_BACKLIGHT
-       select BACKLIGHT_LCD_SUPPORT
-       select BACKLIGHT_CLASS_DEVICE
+       depends on FB_RADEON
        default y
        help
          Say Y here if you want to control the backlight of your display.
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -1039,7 +1106,7 @@ config FB_RADEON_DEBUG
        default n
        help
          Say Y here if you want the Radeon driver to output all sorts
        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
          something goes wrong.
 
 config FB_ATY128
@@ -1048,6 +1115,7 @@ config FB_ATY128
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
        select FB_MACMODES if PPC_PMAC
        help
          This driver supports graphics boards with the ATI Rage128 chips.
        select FB_MACMODES if PPC_PMAC
        help
          This driver supports graphics boards with the ATI Rage128 chips.
@@ -1059,10 +1127,7 @@ config FB_ATY128
 
 config FB_ATY128_BACKLIGHT
        bool "Support for backlight control"
 
 config FB_ATY128_BACKLIGHT
        bool "Support for backlight control"
-       depends on FB_ATY128 && PPC_PMAC
-       select FB_BACKLIGHT
-       select BACKLIGHT_LCD_SUPPORT
-       select BACKLIGHT_CLASS_DEVICE
+       depends on FB_ATY128
        default y
        help
          Say Y here if you want to control the backlight of your display.
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -1073,6 +1138,7 @@ config FB_ATY
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select FB_BACKLIGHT if FB_ATY_BACKLIGHT
        select FB_MACMODES if PPC
        help
          This driver supports graphics boards with the ATI Mach64 chips.
        select FB_MACMODES if PPC
        help
          This driver supports graphics boards with the ATI Mach64 chips.
@@ -1111,29 +1177,31 @@ config FB_ATY_GX
 
 config FB_ATY_BACKLIGHT
        bool "Support for backlight control"
 
 config FB_ATY_BACKLIGHT
        bool "Support for backlight control"
-       depends on FB_ATY && PPC_PMAC
-       select FB_BACKLIGHT
-       select BACKLIGHT_LCD_SUPPORT
-       select BACKLIGHT_CLASS_DEVICE
+       depends on FB_ATY
        default y
        help
          Say Y here if you want to control the backlight of your display.
 
        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_S3
+       tristate "S3 Trio/Virge support"
+       depends on FB && PCI
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       select FB_TILEBLITTING
+       select FB_SVGALIB
+       select VGASTATE
+       ---help---
+         Driver for graphics boards with S3 Trio / S3 Virge chip.
 
 config FB_SAVAGE
        tristate "S3 Savage support"
        depends on FB && PCI && EXPERIMENTAL
 
 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_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select VGASTATE
        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.
@@ -1146,6 +1214,7 @@ config FB_SAVAGE
 config FB_SAVAGE_I2C
        bool "Enable DDC2 Support"
        depends on FB_SAVAGE
 config FB_SAVAGE_I2C
        bool "Enable DDC2 Support"
        depends on FB_SAVAGE
+       select FB_DDC
        help
          This enables I2C support for S3 Savage Chipsets.  This is used
          only for getting EDID information from the attached display
        help
          This enables I2C support for S3 Savage Chipsets.  This is used
          only for getting EDID information from the attached display
@@ -1199,6 +1268,7 @@ config FB_NEOMAGIC
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
+       select VGASTATE
        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. 
@@ -1326,7 +1396,7 @@ config FB_AU1100
 
 config FB_AU1200
        bool "Au1200 LCD Driver"
 
 config FB_AU1200
        bool "Au1200 LCD Driver"
-       depends on FB && MIPS && SOC_AU1200
+       depends on (FB = y) && MIPS && SOC_AU1200
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@ -1386,6 +1456,32 @@ config FB_LEO
          This is the frame buffer device driver for the SBUS-based Sun ZX
          (leo) frame buffer cards.
 
          This is the frame buffer device driver for the SBUS-based Sun ZX
          (leo) frame buffer cards.
 
+config FB_XVR500
+       bool "Sun XVR-500 3DLABS Wildcat support"
+       depends on FB && PCI && SPARC64
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       help
+         This is the framebuffer device for the Sun XVR-500 and similar
+         graphics cards based upon the 3DLABS Wildcat chipset.  The driver
+         only works on sparc64 systems where the system firwmare has
+         mostly initialized the card already.  It is treated as a
+         completely dumb framebuffer device.
+
+config FB_XVR2500
+       bool "Sun XVR-2500 3DLABS Wildcat support"
+       depends on FB && PCI && SPARC64
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       help
+         This is the framebuffer device for the Sun XVR-2500 and similar
+         graphics cards based upon the 3DLABS Wildcat chipset.  The driver
+         only works on sparc64 systems where the system firwmare has
+         mostly initialized the card already.  It is treated as a
+         completely dumb framebuffer device.
+
 config FB_PCI
        bool "PCI framebuffers"
        depends on (FB = y) && PCI && SPARC
 config FB_PCI
        bool "PCI framebuffers"
        depends on (FB = y) && PCI && SPARC
@@ -1421,8 +1517,8 @@ config FB_PMAG_AA
          used mainly in the MIPS-based DECstation series.
 
 config FB_PMAG_BA
          used mainly in the MIPS-based DECstation series.
 
 config FB_PMAG_BA
-       bool "PMAG-BA TURBOchannel framebuffer support"
-       depends on (FB = y) && TC
+       tristate "PMAG-BA TURBOchannel framebuffer support"
+       depends on FB && TC
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@ -1431,8 +1527,8 @@ config FB_PMAG_BA
          used mainly in the MIPS-based DECstation series.
 
 config FB_PMAGB_B
          used mainly in the MIPS-based DECstation series.
 
 config FB_PMAGB_B
-       bool "PMAGB-B TURBOchannel framebuffer support"
-       depends on (FB = y) && TC
+       tristate "PMAGB-B TURBOchannel framebuffer support"
+       depends on TC
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@ -1476,7 +1572,7 @@ config FB_G364
 
 config FB_68328
        bool "Motorola 68328 native frame buffer support"
 
 config FB_68328
        bool "Motorola 68328 native frame buffer support"
-       depends on FB && (M68328 || M68EZ328 || M68VZ328)
+       depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@ -1497,7 +1593,7 @@ config FB_PXA
          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 pxafb. If you want to compile it as a module,
          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 pxafb. If you want to compile it as a module,
-         say M here and read <file:Documentation/modules.txt>.
+         say M here and read <file:Documentation/kbuild/modules.txt>.
 
          If unsure, say N.
 
 
          If unsure, say N.
 
@@ -1550,7 +1646,7 @@ config FB_W100
          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,
          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>.
+         say M here and read <file:Documentation/kbuild/modules.txt>.
 
          If unsure, say N.
 
 
          If unsure, say N.
 
@@ -1567,7 +1663,7 @@ config FB_S3C2410
          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,
          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>.
+         say M here and read <file:Documentation/kbuild/modules.txt>.
 
          If unsure, say N.
 config FB_S3C2410_DEBUG
 
          If unsure, say N.
 config FB_S3C2410_DEBUG
@@ -1577,6 +1673,24 @@ config FB_S3C2410_DEBUG
          Turn on debugging messages. Note that you can set/unset at run time
          through sysfs
 
          Turn on debugging messages. Note that you can set/unset at run time
          through sysfs
 
+config FB_SM501
+       tristate "Silicon Motion SM501 framebuffer support"
+       depends on FB && MFD_SM501
+       select FB_CFB_FILLRECT
+       select FB_CFB_COPYAREA
+       select FB_CFB_IMAGEBLIT
+       ---help---
+         Frame buffer driver for the CRT and LCD controllers in the Silicon
+         Motion SM501.
+
+         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 sm501fb. If you want to compile it as a module,
+         say M here and read <file:Documentation/modules.txt>.
+
+         If unsure, say N.
+
+
 config FB_PNX4008_DUM
        tristate "Display Update Module support on Philips PNX4008 board"
        depends on FB && ARCH_PNX4008
 config FB_PNX4008_DUM
        tristate "Display Update Module support on Philips PNX4008 board"
        depends on FB && ARCH_PNX4008
@@ -1592,13 +1706,42 @@ config FB_PNX4008_DUM_RGB
        ---help---
          Say Y here to enable support for PNX4008 RGB Framebuffer
 
        ---help---
          Say Y here to enable support for PNX4008 RGB Framebuffer
 
-config FB_VIRTUAL
-       tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
-       depends on FB
+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_PS3
+       bool "PS3 GPU framebuffer driver"
+       depends on (FB = y) && PS3_PS3AV
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        ---help---
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        ---help---
+         Include support for the virtual frame buffer in the PS3 platform.
+
+config FB_PS3_DEFAULT_SIZE_M
+       int "PS3 default frame buffer size (in MiB)"
+       depends on FB_PS3
+       default 18
+       ---help---
+         This is the default size (in MiB) of the virtual frame buffer in
+         the PS3.
+         The default value can be overridden on the kernel command line
+         using the "ps3fb" option (e.g. "ps3fb=9M");
+
+config FB_VIRTUAL
+       tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
+       depends on FB
+       select FB_SYS_FILLRECT
+       select FB_SYS_COPYAREA
+       select FB_SYS_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
          board. This means you cannot see any output sent to this frame
          This is a `virtual' frame buffer device. It operates on a chunk of
          unswappable kernel memory instead of on the memory of a graphics
          board. This means you cannot see any output sent to this frame
@@ -1609,9 +1752,11 @@ 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 unsure, say N.
+
 if VT
        source "drivers/video/console/Kconfig"
 endif
 if VT
        source "drivers/video/console/Kconfig"
 endif
@@ -1620,9 +1765,5 @@ if FB || SGI_NEWPORT_CONSOLE
        source "drivers/video/logo/Kconfig"
 endif
 
        source "drivers/video/logo/Kconfig"
 endif
 
-if FB && SYSFS
-       source "drivers/video/backlight/Kconfig"
-endif
-
 endmenu
 
 endmenu