hecubafb: use fb_sys_read()
[safe/jmp/linux-2.6] / drivers / video / Kconfig
index 8874cf2..5e3492c 100644 (file)
@@ -4,20 +4,12 @@
 
 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"
@@ -53,9 +45,27 @@ config FB
          (e.g. an accelerated X server) and that are not frame buffer
          device-aware may cause unexpected results. If unsure, say N.
 
+config 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 && I2C && I2C_ALGOBIT
+       depends on FB
+       select I2C_ALGOBIT
+       select I2C
        default n
 
 config FB_CFB_FILLRECT
@@ -85,6 +95,43 @@ config FB_CFB_IMAGEBLIT
          blitting. This is used by drivers that don't provide their own
          (accelerated) version.
 
+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
+
+config FB_DEFERRED_IO
+       bool
+       depends on FB
+       default y
+
 config FB_SVGALIB
        tristate
        depends on FB
@@ -134,6 +181,9 @@ config FB_TILEBLITTING
         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)
@@ -183,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
-         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
@@ -367,9 +417,10 @@ config FB_FM2
 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
+       select FB_SYS_FOPS
        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
@@ -381,14 +432,17 @@ config FB_ARC
 
 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"
-       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
@@ -464,6 +518,7 @@ config FB_VGA16
        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.
@@ -508,15 +563,25 @@ config FB_HP300
        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 BITREVERSE
-       help
-         This is the frame buffer device driver for generic TGA graphic
-         cards. Say Y if you have one of those.
+       ---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"
@@ -540,6 +605,21 @@ config FB_IMAC
        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_SYS_FOPS
+       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
@@ -669,13 +749,13 @@ config FB_S1D13XXX
 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 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
@@ -688,6 +768,7 @@ config 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
@@ -699,8 +780,7 @@ config FB_NVIDIA_I2C
 
 config FB_NVIDIA_BACKLIGHT
        bool "Support for backlight control"
-       depends on FB_NVIDIA && PMAC_BACKLIGHT
-       select FB_BACKLIGHT
+       depends on FB_NVIDIA
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -708,14 +788,13 @@ config FB_NVIDIA_BACKLIGHT
 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_BACKLIGHT if FB_RIVA_BACKLIGHT
        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.
@@ -727,6 +806,7 @@ config 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
@@ -747,8 +827,7 @@ config FB_RIVA_DEBUG
 
 config FB_RIVA_BACKLIGHT
        bool "Support for backlight control"
-       depends on FB_RIVA && PMAC_BACKLIGHT
-       select FB_BACKLIGHT
+       depends on FB_RIVA
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -762,6 +841,7 @@ config FB_I810
        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.
@@ -798,8 +878,6 @@ config 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
 
@@ -808,8 +886,6 @@ config FB_INTEL
        depends on FB && EXPERIMENTAL && PCI && X86
        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
@@ -842,6 +918,7 @@ config FB_INTEL_DEBUG
 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.
@@ -920,8 +997,8 @@ config FB_MATROX_G
 
 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
@@ -989,9 +1066,7 @@ config FB_MATROX_MULTIHEAD
 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_BACKLIGHT if FB_RADEON_BACKLIGHT
        select FB_MODE_HELPERS
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
@@ -1015,14 +1090,14 @@ config 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"
-       depends on FB_RADEON && PMAC_BACKLIGHT
-       select FB_BACKLIGHT
+       depends on FB_RADEON
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -1042,6 +1117,7 @@ config FB_ATY128
        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.
@@ -1053,8 +1129,7 @@ config FB_ATY128
 
 config FB_ATY128_BACKLIGHT
        bool "Support for backlight control"
-       depends on FB_ATY128 && PMAC_BACKLIGHT
-       select FB_BACKLIGHT
+       depends on FB_ATY128
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -1065,6 +1140,7 @@ config FB_ATY
        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.
@@ -1103,8 +1179,7 @@ config FB_ATY_GX
 
 config FB_ATY_BACKLIGHT
        bool "Support for backlight control"
-       depends on FB_ATY && PMAC_BACKLIGHT
-       select FB_BACKLIGHT
+       depends on FB_ATY
        default y
        help
          Say Y here if you want to control the backlight of your display.
@@ -1117,19 +1192,18 @@ config FB_S3
        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
-       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_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.
@@ -1142,6 +1216,7 @@ config 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
@@ -1195,6 +1270,7 @@ config FB_NEOMAGIC
        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. 
@@ -1322,7 +1398,7 @@ config FB_AU1100
 
 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
@@ -1382,6 +1458,32 @@ config FB_LEO
          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
@@ -1472,7 +1574,7 @@ config FB_G364
 
 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
@@ -1493,7 +1595,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,
-         say M here and read <file:Documentation/modules.txt>.
+         say M here and read <file:Documentation/kbuild/modules.txt>.
 
          If unsure, say N.
 
@@ -1546,7 +1648,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,
-         say M here and read <file:Documentation/modules.txt>.
+         say M here and read <file:Documentation/kbuild/modules.txt>.
 
          If unsure, say N.
 
@@ -1563,7 +1665,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,
-         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
@@ -1573,6 +1675,24 @@ config FB_S3C2410_DEBUG
          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
@@ -1600,8 +1720,7 @@ config FB_IBM_GXT4500
 
 config FB_PS3
        bool "PS3 GPU framebuffer driver"
-       depends on FB && PPC_PS3
-       select PS3_PS3AV
+       depends on (FB = y) && PS3_PS3AV
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
@@ -1621,9 +1740,9 @@ config FB_PS3_DEFAULT_SIZE_M
 config FB_VIRTUAL
        tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
        depends on FB
-       select FB_CFB_FILLRECT
-       select FB_CFB_COPYAREA
-       select FB_CFB_IMAGEBLIT
+       select FB_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
@@ -1639,6 +1758,7 @@ config FB_VIRTUAL
          the vfb_enable=1 option.
 
          If unsure, say N.
+
 if VT
        source "drivers/video/console/Kconfig"
 endif
@@ -1647,9 +1767,5 @@ if FB || SGI_NEWPORT_CONSOLE
        source "drivers/video/logo/Kconfig"
 endif
 
-if SYSFS
-       source "drivers/video/backlight/Kconfig"
-endif
-
 endmenu