menuconfig SND_HDA_INTEL
	tristate "Intel HD Audio"
	select SND_PCM
	select SND_VMASTER
	help
	  Say Y here to include support for Intel "High Definition
	  Audio" (Azalia) and its compatible devices.

	  This option enables the HD-audio controller.  Don't forget
	  to choose the appropriate codec options below.

	  To compile this driver as a module, choose M here: the module
	  will be called snd-hda-intel.

if SND_HDA_INTEL

config SND_HDA_HWDEP
	bool "Build hwdep interface for HD-audio driver"
	select SND_HWDEP
	help
	  Say Y here to build a hwdep interface for HD-audio driver.
	  This interface can be used for out-of-band communication
	  with codecs for debugging purposes.

config SND_HDA_RECONFIG
	bool "Allow dynamic codec reconfiguration (EXPERIMENTAL)"
	depends on SND_HDA_HWDEP && EXPERIMENTAL
	help
	  Say Y here to enable the HD-audio codec re-configuration feature.
	  This adds the sysfs interfaces to allow user to clear the whole
	  codec configuration, change the codec setup, add extra verbs,
	  and re-configure the codec dynamically.

config SND_HDA_INPUT_BEEP
	bool "Support digital beep via input layer"
	depends on INPUT=y || INPUT=SND_HDA_INTEL
	help
	  Say Y here to build a digital beep interface for HD-audio
	  driver. This interface is used to generate digital beeps.

config SND_HDA_INPUT_JACK
	bool "Support jack plugging notification via input layer"
	depends on INPUT=y || INPUT=SND_HDA_INTEL
	select SND_JACK
	help
	  Say Y here to enable the jack plugging notification via
	  input layer.

config SND_HDA_CODEC_REALTEK
	bool "Build Realtek HD-audio codec support"
	default y
	help
	  Say Y here to include Realtek HD-audio codec support in
	  snd-hda-intel driver, such as ALC880.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-realtek.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_ANALOG
	bool "Build Analog Device HD-audio codec support"
	default y
	help
	  Say Y here to include Analog Device HD-audio codec support in
	  snd-hda-intel driver, such as AD1986A.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-analog.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_SIGMATEL
	bool "Build IDT/Sigmatel HD-audio codec support"
	default y
	help
	  Say Y here to include IDT (Sigmatel) HD-audio codec support in
	  snd-hda-intel driver, such as STAC9200.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-idt.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_VIA
	bool "Build VIA HD-audio codec support"
	default y
	help
	  Say Y here to include VIA HD-audio codec support in
	  snd-hda-intel driver, such as VT1708.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-via.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_ATIHDMI
	bool "Build ATI HDMI HD-audio codec support"
	default y
	help
	  Say Y here to include ATI HDMI HD-audio codec support in
	  snd-hda-intel driver, such as ATI RS600 HDMI.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-atihdmi.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_NVHDMI
	bool "Build NVIDIA HDMI HD-audio codec support"
	default y
	help
	  Say Y here to include NVIDIA HDMI HD-audio codec support in
	  snd-hda-intel driver, such as NVIDIA MCP78 HDMI.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-nvhdmi.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_INTELHDMI
	bool "Build INTEL HDMI HD-audio codec support"
	default y
	help
	  Say Y here to include INTEL HDMI HD-audio codec support in
	  snd-hda-intel driver, such as Eaglelake integrated HDMI.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-intelhdmi.
	  This module is automatically loaded at probing.

config SND_HDA_ELD
	def_bool y
	depends on SND_HDA_CODEC_INTELHDMI

config SND_HDA_CODEC_CONEXANT
	bool "Build Conexant HD-audio codec support"
	default y
	help
	  Say Y here to include Conexant HD-audio codec support in
	  snd-hda-intel driver, such as CX20549.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-conexant.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_CA0110
	bool "Build Creative CA0110-IBG codec support"
	depends on SND_HDA_INTEL
	default y
	help
	  Say Y here to include Creative CA0110-IBG codec support in
	  snd-hda-intel driver, found on some Creative X-Fi cards.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-ca0110.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_CMEDIA
	bool "Build C-Media HD-audio codec support"
	default y
	help
	  Say Y here to include C-Media HD-audio codec support in
	  snd-hda-intel driver, such as CMI9880.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-cmedia.
	  This module is automatically loaded at probing.

config SND_HDA_CODEC_SI3054
	bool "Build Silicon Labs 3054 HD-modem codec support"
	default y
	help
	  Say Y here to include Silicon Labs 3054 HD-modem codec
	  (and compatibles) support in snd-hda-intel driver.

	  When the HD-audio driver is built as a module, the codec
	  support code is also built as another module,
	  snd-hda-codec-si3054.
	  This module is automatically loaded at probing.

config SND_HDA_GENERIC
	bool "Enable generic HD-audio codec parser"
	default y
	help
	  Say Y here to enable the generic HD-audio codec parser
	  in snd-hda-intel driver.

config SND_HDA_POWER_SAVE
	bool "Aggressive power-saving on HD-audio"
	help
	  Say Y here to enable more aggressive power-saving mode on
	  HD-audio driver.  The power-saving timeout can be configured
	  via power_save option or over sysfs on-the-fly.

config SND_HDA_POWER_SAVE_DEFAULT
	int "Default time-out for HD-audio power-save mode"
	depends on SND_HDA_POWER_SAVE
	default 0
	help
	  The default time-out value in seconds for HD-audio automatic
	  power-save mode.  0 means to disable the power-save mode.

endif
