Merge branch 'linus' into x86/threadinfo
[linux-2.6] / drivers / ieee1394 / Kconfig
1 menu "IEEE 1394 (FireWire) support"
2         depends on PCI || BROKEN
3
4 source "drivers/firewire/Kconfig"
5
6 config IEEE1394
7         tristate "Stable FireWire stack"
8         depends on PCI || BROKEN
9         help
10           IEEE 1394 describes a high performance serial bus, which is also
11           known as FireWire(tm) or i.Link(tm) and is used for connecting all
12           sorts of devices (most notably digital video cameras) to your
13           computer.
14
15           If you have FireWire hardware and want to use it, say Y here.  This
16           is the core support only, you will also need to select a driver for
17           your IEEE 1394 adapter.
18
19           To compile this driver as a module, say M here: the
20           module will be called ieee1394.
21
22 config IEEE1394_OHCI1394
23         tristate "OHCI-1394 controllers"
24         depends on PCI && IEEE1394
25         help
26           Enable this driver if you have an IEEE 1394 controller based on the
27           OHCI-1394 specification. The current driver is only tested with OHCI
28           chipsets made by Texas Instruments and NEC. Most third-party vendors
29           use one of these chipsets.  It should work with any OHCI-1394
30           compliant card, however.
31
32           To compile this driver as a module, say M here: the
33           module will be called ohci1394.
34
35           NOTE:
36
37           You should only build either ohci1394 or the new firewire-ohci driver,
38           but not both.  If you nevertheless want to install both, you should
39           configure them only as modules and blacklist the driver(s) which you
40           don't want to have auto-loaded.  Add either
41
42               blacklist firewire-ohci
43           or
44               blacklist ohci1394
45               blacklist video1394
46               blacklist dv1394
47
48           to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf
49           depending on your distribution.  The latter two modules should be
50           blacklisted together with ohci1394 because they depend on ohci1394.
51
52           If you have an old modprobe which doesn't implement the blacklist
53           directive, use "install modulename /bin/true" for the modules to be
54           blacklisted.
55
56 comment "PCILynx controller requires I2C"
57         depends on IEEE1394 && I2C=n
58
59 config IEEE1394_PCILYNX
60         tristate "PCILynx controller"
61         depends on PCI && IEEE1394 && I2C
62         select I2C_ALGOBIT
63         help
64           Say Y here if you have an IEEE-1394 controller with the Texas
65           Instruments PCILynx chip.  Note: this driver is written for revision
66           2 of this chip and may not work with revision 0.
67
68           To compile this driver as a module, say M here: the
69           module will be called pcilynx.
70
71           Only some old and now very rare PCI and CardBus cards and
72           PowerMacs G3 B&W contain the PCILynx controller.  Therefore
73           almost everybody can say N here.
74
75 comment "SBP-2 support (for storage devices) requires SCSI"
76         depends on IEEE1394 && SCSI=n
77
78 config IEEE1394_SBP2
79         tristate "Storage devices (SBP-2 protocol)"
80         depends on IEEE1394 && SCSI
81         help
82           This option enables you to use SBP-2 devices connected to an IEEE
83           1394 bus.  SBP-2 devices include storage devices like harddisks and
84           DVD drives, also some other FireWire devices like scanners.
85
86           You should also enable support for disks, CD-ROMs, etc. in the SCSI
87           configuration section.
88
89 config IEEE1394_SBP2_PHYS_DMA
90         bool "Enable replacement for physical DMA in SBP2"
91         depends on IEEE1394_SBP2 && VIRT_TO_BUS && EXPERIMENTAL
92         help
93           This builds sbp2 for use with non-OHCI host adapters which do not
94           support physical DMA or for when ohci1394 is run with phys_dma=0.
95           Physical DMA is data movement without assistance of the drivers'
96           interrupt handlers.  This option includes the interrupt handlers
97           that are required in absence of this hardware feature.
98
99           This option is buggy and currently broken on some architectures.
100           If unsure, say N.
101
102 config IEEE1394_ETH1394_ROM_ENTRY
103         depends on IEEE1394
104         bool
105         default n
106
107 config IEEE1394_ETH1394
108         tristate "IP over 1394"
109         depends on IEEE1394 && EXPERIMENTAL && INET
110         select IEEE1394_ETH1394_ROM_ENTRY
111         help
112           This driver implements a functional majority of RFC 2734: IPv4 over
113           1394.  It will provide IP connectivity with implementations of RFC
114           2734 found on other operating systems.  It will not communicate with
115           older versions of this driver found in stock kernels prior to 2.6.3.
116           This driver is still considered experimental.  It does not yet support
117           MCAP, therefore multicast support is significantly limited.
118
119           The module is called eth1394 although it does not emulate Ethernet.
120
121 config IEEE1394_RAWIO
122         tristate "raw1394 userspace interface"
123         depends on IEEE1394
124         help
125           This option adds support for the raw1394 device file which enables
126           direct communication of user programs with IEEE 1394 devices
127           (isochronous and asynchronous).  Almost all application programs
128           which access FireWire require this option.
129
130           To compile this driver as a module, say M here: the module will be
131           called raw1394.
132
133 config IEEE1394_VIDEO1394
134         tristate "video1394 userspace interface"
135         depends on IEEE1394 && IEEE1394_OHCI1394
136         help
137           This option adds support for the video1394 device files which enable
138           isochronous communication of user programs with IEEE 1394 devices,
139           especially video capture or export.  This interface is used by all
140           libdc1394 based programs and by several other programs, in addition to
141           the raw1394 interface.  It is generally not required for DV capture.
142
143           To compile this driver as a module, say M here: the module will be
144           called video1394.
145
146 config IEEE1394_DV1394
147         tristate "dv1394 userspace interface (deprecated)"
148         depends on IEEE1394 && IEEE1394_OHCI1394
149         help
150           The dv1394 driver is unsupported and may be removed from Linux in a
151           future release.  Its functionality is now provided by raw1394 together
152           with libraries such as libiec61883.
153
154 config IEEE1394_VERBOSEDEBUG
155         bool "Excessive debugging output"
156         depends on IEEE1394
157         help
158           If you say Y here, you will get very verbose debugging logs from the
159           ieee1394 drivers, including sent and received packet headers.  This
160           will quickly result in large amounts of data sent to the system log.
161
162           Say Y if you really need the debugging output.  Everyone else says N.
163
164 endmenu