menuconfig SND_FIREWIRE
	bool "FireWire sound devices"
	depends on FIREWIRE
	default y
	help
	  Support for IEEE-1394/FireWire/iLink sound devices.

if SND_FIREWIRE && FIREWIRE

config SND_FIREWIRE_LIB
	tristate
	depends on SND_PCM

config SND_DICE
	tristate "DICE-based DACs (EXPERIMENTAL)"
	select SND_HWDEP
	select SND_PCM
	select SND_FIREWIRE_LIB
	help
	  Say Y here to include support for many DACs based on the DICE
	  chip family (DICE-II/Jr/Mini) from TC Applied Technologies.

	  At the moment, this driver supports playback only.  If you
	  want to use devices that support capturing, use FFADO instead.

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

config SND_FIREWIRE_SPEAKERS
	tristate "FireWire speakers"
	select SND_PCM
	select SND_FIREWIRE_LIB
	help
	  Say Y here to include support for the Griffin FireWave Surround
	  and the LaCie FireWire Speakers.

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

config SND_ISIGHT
	tristate "Apple iSight microphone"
	select SND_PCM
	select SND_FIREWIRE_LIB
	help
	  Say Y here to include support for the front and rear microphones
	  of the Apple iSight web camera.

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

config SND_SCS1X
	tristate "Stanton Control System 1 MIDI"
	select SND_PCM
	select SND_RAWMIDI
	select SND_FIREWIRE_LIB
	help
	  Say Y here to include support for the MIDI ports of the Stanton
	  SCS.1d/SCS.1m DJ controllers.  (SCS.1m audio is still handled
	  by FFADO.)

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

endif # SND_FIREWIRE
