Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
[safe/jmp/linux-2.6] / drivers / ieee1394 / Kconfig
index 1867375..e02096c 100644 (file)
@@ -1,11 +1,6 @@
-# -*- shell-script -*-
-
-menu "IEEE 1394 (FireWire) support"
-
 config IEEE1394
-       tristate "IEEE 1394 (FireWire) support"
+       tristate "Legacy alternative FireWire driver stack"
        depends on PCI || BROKEN
-       select NET
        help
          IEEE 1394 describes a high performance serial bus, which is also
          known as FireWire(tm) or i.Link(tm) and is used for connecting all
@@ -16,76 +11,50 @@ config IEEE1394
          is the core support only, you will also need to select a driver for
          your IEEE 1394 adapter.
 
-         To compile this driver as a module, say M here: the
-         module will be called ieee1394.
+         To compile this driver as a module, say M here: the module will be
+         called ieee1394.
 
-comment "Subsystem Options"
-       depends on IEEE1394
+         NOTE:
+         ieee1394 is superseded by the newer firewire-core driver.  See
+         http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for
+         further information on how to switch to the new FireWire drivers.
 
-config IEEE1394_VERBOSEDEBUG
-       bool "Excessive debugging output"
-       depends on IEEE1394
+config IEEE1394_OHCI1394
+       tristate "OHCI-1394 controllers"
+       depends on PCI && IEEE1394
        help
-         If you say Y here, you will get very verbose debugging logs from
-         the subsystem which includes a dump of the header of every sent
-         and received packet.  This can amount to a high amount of data
-         collected in a very short time which is usually also saved to
-         disk by the system logging daemons.
+         Enable this driver if you have an IEEE 1394 controller based on the
+         OHCI-1394 specification. The current driver is only tested with OHCI
+         chipsets made by Texas Instruments and NEC. Most third-party vendors
+         use one of these chipsets.  It should work with any OHCI-1394
+         compliant card, however.
 
-         Say Y if you really want or need the debugging output, everyone
-         else says N.
+         To compile this driver as a module, say M here: the module will be
+         called ohci1394.
 
-config IEEE1394_OUI_DB
-       bool "OUI Database built-in"
-       depends on IEEE1394
-       help
-         If you say Y here, then an OUI list (vendor unique ID's) will be
-         compiled into the ieee1394 module. This doesn't really do much
-         except being able to display the vendor of a hardware node. The
-         downside is that it adds about 300k to the size of the module,
-         or kernel (depending on whether you compile ieee1394 as a
-         module, or static in the kernel).
-
-         This option is not needed for userspace programs like gscanbus
-         to show this information.
-
-config IEEE1394_EXTRA_CONFIG_ROMS
-       bool "Build in extra config rom entries for certain functionality"
-       depends on IEEE1394
-       help
-         Some IEEE1394 functionality depends on extra config rom entries
-         being available in the host adapters CSR. These options will
-         allow you to choose which ones.
-
-config IEEE1394_CONFIG_ROM_IP1394
-       bool "IP-1394 Entry"
-       depends on IEEE1394_EXTRA_CONFIG_ROMS && IEEE1394
-       help
-         Adds an entry for using IP-over-1394. If you want to use your
-         IEEE1394 bus as a network for IP systems (including interacting
-         with MacOSX and WinXP IP-over-1394), enable this option and the
-         eth1394 option below.
+         NOTE:
+         ohci1394 is superseded by the newer firewire-ohci driver.  See
+         http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for
+         further information on how to switch to the new FireWire drivers.
 
-config IEEE1394_EXPORT_FULL_API
-       bool "Export all symbols of ieee1394's API"
-       depends on IEEE1394
-       default n
-       help
-         Export all symbols of ieee1394's driver programming interface, even
-         those that are not currently used by the standard IEEE 1394 drivers.
+         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
 
-         This option does not affect the interface to userspace applications.
-         Say Y here if you want to compile externally developed drivers that
-         make extended use of ieee1394's API. It is otherwise safe to say N.
+             blacklist ohci1394
+             blacklist video1394
+             blacklist dv1394
+         or
+             blacklist firewire-ohci
 
-comment "Device Drivers"
-       depends on IEEE1394
+         to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf
+         depending on your distribution.
 
-comment "Texas Instruments PCILynx requires I2C"
+comment "PCILynx controller requires I2C"
        depends on IEEE1394 && I2C=n
 
 config IEEE1394_PCILYNX
-       tristate "Texas Instruments PCILynx support"
+       tristate "PCILynx controller"
        depends on PCI && IEEE1394 && I2C
        select I2C_ALGOBIT
        help
@@ -93,58 +62,57 @@ config IEEE1394_PCILYNX
          Instruments PCILynx chip.  Note: this driver is written for revision
          2 of this chip and may not work with revision 0.
 
-         To compile this driver as a module, say M here: the
-         module will be called pcilynx.
+         To compile this driver as a module, say M here: the module will be
+         called pcilynx.
 
-config IEEE1394_OHCI1394
-       tristate "OHCI-1394 support"
-       depends on PCI && IEEE1394
-       help
-         Enable this driver if you have an IEEE 1394 controller based on the
-         OHCI-1394 specification. The current driver is only tested with OHCI
-         chipsets made by Texas Instruments and NEC. Most third-party vendors
-         use one of these chipsets.  It should work with any OHCI-1394
-         compliant card, however.
+         Only some old and now very rare PCI and CardBus cards and
+         PowerMacs G3 B&W contain the PCILynx controller.  Therefore
+         almost everybody can say N here.
 
-         To compile this driver as a module, say M here: the
-         module will be called ohci1394.
-
-comment "Protocol Drivers"
-       depends on IEEE1394
-
-config IEEE1394_VIDEO1394
-       tristate "OHCI-1394 Video support"
-       depends on IEEE1394 && IEEE1394_OHCI1394
-       help
-         This option enables video device usage for OHCI-1394 cards.  Enable
-         this option only if you have an IEEE 1394 video device connected to
-         an OHCI-1394 card.
+comment "SBP-2 support (for storage devices) requires SCSI"
+       depends on IEEE1394 && SCSI=n
 
 config IEEE1394_SBP2
-       tristate "SBP-2 support (Harddisks etc.)"
-       depends on IEEE1394 && SCSI && (PCI || BROKEN)
+       tristate "Storage devices (SBP-2 protocol)"
+       depends on IEEE1394 && SCSI
        help
-         This option enables you to use SBP-2 devices connected to your IEEE
-         1394 bus.  SBP-2 devices include harddrives and DVD devices.
+         This option enables you to use SBP-2 devices connected to an IEEE
+         1394 bus.  SBP-2 devices include storage devices like harddisks and
+         DVD drives, also some other FireWire devices like scanners.
+
+         You should also enable support for disks, CD-ROMs, etc. in the SCSI
+         configuration section.
+
+         To compile this driver as a module, say M here: the module will be
+         called sbp2.
+
+         NOTE:
+         sbp2 is superseded by the newer firewire-sbp2 driver. See
+         http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for
+         further information on how to switch to the new FireWire drivers.
 
 config IEEE1394_SBP2_PHYS_DMA
        bool "Enable replacement for physical DMA in SBP2"
-       depends on IEEE1394 && IEEE1394_SBP2 && EXPERIMENTAL && (X86_32 || PPC_32)
+       depends on IEEE1394_SBP2 && VIRT_TO_BUS && EXPERIMENTAL
        help
          This builds sbp2 for use with non-OHCI host adapters which do not
          support physical DMA or for when ohci1394 is run with phys_dma=0.
-         Physical DMA is data movement without assistence of the drivers'
+         Physical DMA is data movement without assistance of the drivers'
          interrupt handlers.  This option includes the interrupt handlers
          that are required in absence of this hardware feature.
 
          This option is buggy and currently broken on some architectures.
          If unsure, say N.
 
+config IEEE1394_ETH1394_ROM_ENTRY
+       depends on IEEE1394
+       bool
+       default n
+
 config IEEE1394_ETH1394
-       tristate "Ethernet over 1394"
+       tristate "IP networking over 1394 (experimental)"
        depends on IEEE1394 && EXPERIMENTAL && INET
-       select IEEE1394_CONFIG_ROM_IP1394
-       select IEEE1394_EXTRA_CONFIG_ROMS
+       select IEEE1394_ETH1394_ROM_ENTRY
        help
          This driver implements a functional majority of RFC 2734: IPv4 over
          1394.  It will provide IP connectivity with implementations of RFC
@@ -153,29 +121,62 @@ config IEEE1394_ETH1394
          This driver is still considered experimental.  It does not yet support
          MCAP, therefore multicast support is significantly limited.
 
-config IEEE1394_DV1394
-       tristate "OHCI-DV I/O support"
+         The module is called eth1394 although it does not emulate Ethernet.
+
+         NOTE:
+         eth1394 is superseded by the newer firewire-net driver. See
+         http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for
+         further information on how to switch to the new FireWire drivers.
+
+config IEEE1394_RAWIO
+       tristate "raw1394 userspace interface"
+       depends on IEEE1394
+       help
+         This option adds support for the raw1394 device file which enables
+         direct communication of user programs with IEEE 1394 devices
+         (isochronous and asynchronous).  Almost all application programs
+         which access FireWire require this option.
+
+         To compile this driver as a module, say M here: the module will be
+         called raw1394.
+
+         NOTE:
+         raw1394 is superseded by the newer firewire-core driver. See
+         http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for
+         further information on how to switch to the new FireWire drivers.
+
+config IEEE1394_VIDEO1394
+       tristate "video1394 userspace interface"
        depends on IEEE1394 && IEEE1394_OHCI1394
        help
-         This driver allows you to transmit and receive DV (digital video)
-         streams on an OHCI-1394 card using a simple frame-oriented
-         interface.
+         This option adds support for the video1394 device files which enable
+         isochronous communication of user programs with IEEE 1394 devices,
+         especially video capture or export.  This interface is used by all
+         libdc1394 based programs and by several other programs, in addition to
+         the raw1394 interface.  It is generally not required for DV capture.
 
-         The user-space API for dv1394 is documented in dv1394.h.
+         To compile this driver as a module, say M here: the module will be
+         called video1394.
 
-         To compile this driver as a module, say M here: the
-         module will be called dv1394.
+         NOTE:
+         video1394 is superseded by the newer firewire-core driver. See
+         http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for
+         further information on how to switch to the new FireWire drivers.
 
-config IEEE1394_RAWIO
-       tristate "Raw IEEE1394 I/O support"
-       depends on IEEE1394
+config IEEE1394_DV1394
+       tristate "dv1394 userspace interface (deprecated)"
+       depends on IEEE1394 && IEEE1394_OHCI1394
        help
-         Say Y here if you want support for the raw device. This is generally
-         a good idea, so you should say Y here. The raw device enables
-         direct communication of user programs with the IEEE 1394 bus and
-         thus with the attached peripherals.
+         The dv1394 driver is unsupported and may be removed from Linux in a
+         future release.  Its functionality is now provided by either
+         raw1394 or firewire-core together with libraries such as libiec61883.
 
-         To compile this driver as a module, say M here: the
-         module will be called raw1394.
+config IEEE1394_VERBOSEDEBUG
+       bool "Excessive debugging output"
+       depends on IEEE1394
+       help
+         If you say Y here, you will get very verbose debugging logs from the
+         ieee1394 drivers, including sent and received packet headers.  This
+         will quickly result in large amounts of data sent to the system log.
 
-endmenu
+         Say Y if you really need the debugging output.  Everyone else says N.