comment "You can enable one or both FireWire driver stacks."
comment "See the help texts for more information."

config FIREWIRE
	tristate "FireWire driver stack"
	select CRC_ITU_T
	help
	  This is the new-generation IEEE 1394 (FireWire) driver stack
	  a.k.a. Juju, a new implementation designed for robustness and
	  simplicity.
	  See http://ieee1394.wiki.kernel.org/index.php/Juju_Migration
	  for information about migration from the older Linux 1394 stack
	  to the new driver stack.

	  To compile this driver as a module, say M here: the module will be
	  called firewire-core.

	  This module functionally replaces ieee1394, raw1394, and video1394.
	  To access it from application programs, you generally need at least
	  libraw1394 v2.  IIDC/DCAM applications need libdc1394 v2.
	  No libraries are required to access storage devices through the
	  firewire-sbp2 driver.

	  NOTE:
	  FireWire audio devices currently require the old drivers (ieee1394,
	  ohci1394, raw1394).

config FIREWIRE_OHCI
	tristate "OHCI-1394 controllers"
	depends on PCI && FIREWIRE
	help
	  Enable this driver if you have a FireWire controller based
	  on the OHCI specification.  For all practical purposes, this
	  is the only chipset in use, so say Y here.

	  To compile this driver as a module, say M here:  The module will be
	  called firewire-ohci.  It replaces ohci1394 of the classic IEEE 1394
	  stack.

	  NOTE:
	  If you want to install firewire-ohci and ohci1394 together, you
	  should configure them only as modules and blacklist the driver(s)
	  which you don't want to have auto-loaded.  Add either

	      blacklist firewire-ohci
	  or
	      blacklist ohci1394
	      blacklist video1394
	      blacklist dv1394

	  to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf
	  depending on your distribution.

config FIREWIRE_OHCI_DEBUG
	bool
	depends on FIREWIRE_OHCI
	default y

config FIREWIRE_SBP2
	tristate "Storage devices (SBP-2 protocol)"
	depends on FIREWIRE && SCSI
	help
	  This option enables you to use SBP-2 devices connected to a
	  FireWire bus.  SBP-2 devices include storage devices like
	  harddisks and DVD drives, also some other FireWire devices
	  like scanners.

	  To compile this driver as a module, say M here:  The module will be
	  called firewire-sbp2.  It replaces sbp2 of the classic IEEE 1394
	  stack.

	  You should also enable support for disks, CD-ROMs, etc. in the SCSI
	  configuration section.

config FIREWIRE_NET
	tristate "IP networking over 1394 (EXPERIMENTAL)"
	depends on FIREWIRE && INET && EXPERIMENTAL
	help
	  This enables IPv4 over IEEE 1394, providing IP connectivity with
	  other implementations of RFC 2734 as found on several operating
	  systems.  Multicast support is currently limited.

	  NOTE, this driver is not stable yet!

	  To compile this driver as a module, say M here:  The module will be
	  called firewire-net.  It replaces eth1394 of the classic IEEE 1394
	  stack.
