config MFD_NVEC
	tristate "NV Tegra Embedded Controller SMBus Interface"
	depends on I2C && GPIOLIB && ARCH_TEGRA
	select MFD_CORE
	help
	    Say Y here to enable support for a nVidia compliant embedded
	    controller.

	    To compile this driver as a module, say M here: the module will be
            called mfd-nvec

config KEYBOARD_NVEC
	tristate "Keyboard on nVidia compliant EC"
	depends on MFD_NVEC && INPUT
	help
	  Say Y here to enable support for a keyboard connected to
	  a nVidia compliant embedded controller.

	  To compile this driver as a module, say M here: the module will be
          called keyboard-nvec

config SERIO_NVEC_PS2
	tristate "PS2 on nVidia EC"
	depends on MFD_NVEC && SERIO
	help
	  Say Y here to enable support for a Touchpad / Mouse connected
	  to a nVidia compliant embedded controller.

	  To compile this driver as a module, say M here: the module will be
          called serio-nvec-ps2


config NVEC_POWER
	tristate "NVEC charger and battery"
	depends on MFD_NVEC && POWER_SUPPLY
	help
	  Say Y to enable support for battery and charger interface for
	  nVidia compliant embedded controllers.

	  To compile this driver as a module, say M here: the module will be
          called nvec-power


config NVEC_PAZ00
	tristate "Support for OEM specific functions on Compal PAZ00 based devices"
	depends on MFD_NVEC && LEDS_CLASS
	help
	  Say Y to enable control of the yellow side leds on Compal PAZ00 based
	  devices, e.g. Toshbia AC100 and Dynabooks AZ netbooks.

	  To compile this driver as a module, say M here: the module will be
          called nvec-paz00

