config FB_OLPC_DCON
	tristate "One Laptop Per Child Display CONtroller support"
	depends on OLPC && FB
	depends on I2C
	depends on BACKLIGHT_LCD_SUPPORT
	depends on (GPIO_CS5535 || GPIO_CS5535=n)
	select BACKLIGHT_CLASS_DEVICE
	help
	  In order to support very low power operation, the XO laptop uses a
	  secondary Display CONtroller, or DCON.  This secondary controller
	  is present in the video pipeline between the primary display
	  controller (integrate into the processor or chipset) and the LCD
	  panel.  It allows the main processor/display controller to be
	  completely powered off while still retaining an image on the display.
	  This controller is only available on OLPC platforms.  Unless you have
	  one of these platforms, you will want to say 'N'.

config FB_OLPC_DCON_1
	bool "OLPC XO-1 DCON support"
	depends on FB_OLPC_DCON && GPIO_CS5535
	default y
	help
	  Enable support for the DCON in XO-1 model laptops.  The kernel
	  communicates with the DCON using model-specific code.  If you
	  have an XO-1 (or if you're unsure what model you have), you should
	  say 'Y'.

config FB_OLPC_DCON_1_5
	bool "OLPC XO-1.5 DCON support"
	depends on FB_OLPC_DCON && ACPI
	default y
	help
	  Enable support for the DCON in XO-1.5 model laptops.  The kernel
	  communicates with the DCON using model-specific code.  If you
	  have an XO-1.5 (or if you're unsure what model you have), you
	  should say 'Y'.
