Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[linux-2.6] / drivers / ieee1394 / Kconfig
1 # -*- shell-script -*-
2
3 menu "IEEE 1394 (FireWire) support"
4
5 config IEEE1394
6         tristate "IEEE 1394 (FireWire) support"
7         depends on PCI || BROKEN
8         select NET
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 comment "Subsystem Options"
23         depends on IEEE1394
24
25 config IEEE1394_VERBOSEDEBUG
26         bool "Excessive debugging output"
27         depends on IEEE1394
28         help
29           If you say Y here, you will get very verbose debugging logs from
30           the subsystem which includes a dump of the header of every sent
31           and received packet.  This can amount to a high amount of data
32           collected in a very short time which is usually also saved to
33           disk by the system logging daemons.
34
35           Say Y if you really want or need the debugging output, everyone
36           else says N.
37
38 config IEEE1394_OUI_DB
39         bool "OUI Database built-in"
40         depends on IEEE1394
41         help
42           If you say Y here, then an OUI list (vendor unique ID's) will be
43           compiled into the ieee1394 module. This doesn't really do much
44           except being able to display the vendor of a hardware node. The
45           downside is that it adds about 300k to the size of the module,
46           or kernel (depending on whether you compile ieee1394 as a
47           module, or static in the kernel).
48
49           This option is not needed for userspace programs like gscanbus
50           to show this information.
51
52 config IEEE1394_EXTRA_CONFIG_ROMS
53         bool "Build in extra config rom entries for certain functionality"
54         depends on IEEE1394
55         help
56           Some IEEE1394 functionality depends on extra config rom entries
57           being available in the host adapters CSR. These options will
58           allow you to choose which ones.
59
60 config IEEE1394_CONFIG_ROM_IP1394
61         bool "IP-1394 Entry"
62         depends on IEEE1394_EXTRA_CONFIG_ROMS && IEEE1394
63         help
64           Adds an entry for using IP-over-1394. If you want to use your
65           IEEE1394 bus as a network for IP systems (including interacting
66           with MacOSX and WinXP IP-over-1394), enable this option and the
67           eth1394 option below.
68
69 config IEEE1394_EXPORT_FULL_API
70         bool "Export all symbols of ieee1394's API"
71         depends on IEEE1394
72         default n
73         help
74           Export all symbols of ieee1394's driver programming interface, even
75           those that are not currently used by the standard IEEE 1394 drivers.
76
77           This option does not affect the interface to userspace applications.
78           Say Y here if you want to compile externally developed drivers that
79           make extended use of ieee1394's API. It is otherwise safe to say N.
80
81 comment "Device Drivers"
82         depends on IEEE1394
83
84 comment "Texas Instruments PCILynx requires I2C"
85         depends on IEEE1394 && I2C=n
86
87 config IEEE1394_PCILYNX
88         tristate "Texas Instruments PCILynx support"
89         depends on PCI && IEEE1394 && I2C
90         select I2C_ALGOBIT
91         help
92           Say Y here if you have an IEEE-1394 controller with the Texas
93           Instruments PCILynx chip.  Note: this driver is written for revision
94           2 of this chip and may not work with revision 0.
95
96           To compile this driver as a module, say M here: the
97           module will be called pcilynx.
98
99 config IEEE1394_OHCI1394
100         tristate "OHCI-1394 support"
101         depends on PCI && IEEE1394
102         help
103           Enable this driver if you have an IEEE 1394 controller based on the
104           OHCI-1394 specification. The current driver is only tested with OHCI
105           chipsets made by Texas Instruments and NEC. Most third-party vendors
106           use one of these chipsets.  It should work with any OHCI-1394
107           compliant card, however.
108
109           To compile this driver as a module, say M here: the
110           module will be called ohci1394.
111
112 comment "Protocol Drivers"
113         depends on IEEE1394
114
115 config IEEE1394_VIDEO1394
116         tristate "OHCI-1394 Video support"
117         depends on IEEE1394 && IEEE1394_OHCI1394
118         help
119           This option enables video device usage for OHCI-1394 cards.  Enable
120           this option only if you have an IEEE 1394 video device connected to
121           an OHCI-1394 card.
122
123 comment "SBP-2 support (for storage devices) requires SCSI"
124         depends on IEEE1394 && SCSI=n
125
126 config IEEE1394_SBP2
127         tristate "SBP-2 support (Harddisks etc.)"
128         depends on IEEE1394 && SCSI && (PCI || BROKEN)
129         help
130           This option enables you to use SBP-2 devices connected to an IEEE
131           1394 bus.  SBP-2 devices include storage devices like harddisks and
132           DVD drives, also some other FireWire devices like scanners.
133
134           You should also enable support for disks, CD-ROMs, etc. in the SCSI
135           configuration section.
136
137 config IEEE1394_SBP2_PHYS_DMA
138         bool "Enable replacement for physical DMA in SBP2"
139         depends on IEEE1394 && IEEE1394_SBP2 && EXPERIMENTAL && (X86_32 || PPC_32)
140         help
141           This builds sbp2 for use with non-OHCI host adapters which do not
142           support physical DMA or for when ohci1394 is run with phys_dma=0.
143           Physical DMA is data movement without assistance of the drivers'
144           interrupt handlers.  This option includes the interrupt handlers
145           that are required in absence of this hardware feature.
146
147           This option is buggy and currently broken on some architectures.
148           If unsure, say N.
149
150 config IEEE1394_ETH1394
151         tristate "Ethernet over 1394"
152         depends on IEEE1394 && EXPERIMENTAL && INET
153         select IEEE1394_CONFIG_ROM_IP1394
154         select IEEE1394_EXTRA_CONFIG_ROMS
155         help
156           This driver implements a functional majority of RFC 2734: IPv4 over
157           1394.  It will provide IP connectivity with implementations of RFC
158           2734 found on other operating systems.  It will not communicate with
159           older versions of this driver found in stock kernels prior to 2.6.3.
160           This driver is still considered experimental.  It does not yet support
161           MCAP, therefore multicast support is significantly limited.
162
163 config IEEE1394_DV1394
164         tristate "OHCI-DV I/O support"
165         depends on IEEE1394 && IEEE1394_OHCI1394
166         help
167           This driver allows you to transmit and receive DV (digital video)
168           streams on an OHCI-1394 card using a simple frame-oriented
169           interface.
170
171           The user-space API for dv1394 is documented in dv1394.h.
172
173           To compile this driver as a module, say M here: the
174           module will be called dv1394.
175
176 config IEEE1394_RAWIO
177         tristate "Raw IEEE1394 I/O support"
178         depends on IEEE1394
179         help
180           Say Y here if you want support for the raw device. This is generally
181           a good idea, so you should say Y here. The raw device enables
182           direct communication of user programs with the IEEE 1394 bus and
183           thus with the attached peripherals.
184
185           To compile this driver as a module, say M here: the
186           module will be called raw1394.
187
188 endmenu