Linux 6.12-rc7
[linux-stable.git] / drivers / firewire / Kconfig
blob905c82e26ce74f381c8f8e846fe9f695802bdeff
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "IEEE 1394 (FireWire) support"
3         depends on PCI || COMPILE_TEST
4         # firewire-core does not depend on PCI but is
5         # not useful without PCI controller driver
7 config FIREWIRE
8         tristate "FireWire driver stack"
9         select CRC_ITU_T
10         help
11           This is the new-generation IEEE 1394 (FireWire) driver stack
12           a.k.a. Juju, a new implementation designed for robustness and
13           simplicity.
14           See http://ieee1394.docs.kernel.org/en/latest/migration.html
15           for information about migration from the older Linux 1394 stack
16           to the new driver stack.
18           To compile this driver as a module, say M here: the module will be
19           called firewire-core.
21 config FIREWIRE_KUNIT_UAPI_TEST
22         tristate "KUnit tests for layout of structure in UAPI" if !KUNIT_ALL_TESTS
23         depends on FIREWIRE && KUNIT
24         default KUNIT_ALL_TESTS
25         help
26           This builds the KUnit tests whether structures exposed to user
27           space have expected layout.
29           KUnit tests run during boot and output the results to the debug
30           log in TAP format (https://testanything.org/). Only useful for
31           kernel devs running KUnit test harness and are not for inclusion
32           into a production build.
34           For more information on KUnit and unit tests in general, refer
35           to the KUnit documentation in Documentation/dev-tools/kunit/.
37 config FIREWIRE_KUNIT_DEVICE_ATTRIBUTE_TEST
38         tristate "KUnit tests for device attributes" if !KUNIT_ALL_TESTS
39         depends on FIREWIRE && KUNIT
40         default KUNIT_ALL_TESTS
41         help
42           This builds the KUnit tests for device attribute for node and
43           unit.
45           KUnit tests run during boot and output the results to the debug
46           log in TAP format (https://testanything.org/). Only useful for
47           kernel devs running KUnit test harness and are not for inclusion
48           into a production build.
50           For more information on KUnit and unit tests in general, refer
51           to the KUnit documentation in Documentation/dev-tools/kunit/.
53 config FIREWIRE_KUNIT_PACKET_SERDES_TEST
54         tristate "KUnit tests for packet serialization/deserialization" if !KUNIT_ALL_TESTS
55         depends on FIREWIRE && KUNIT
56         default KUNIT_ALL_TESTS
57         help
58           This builds the KUnit tests for packet serialization and
59           deserialization.
61           KUnit tests run during boot and output the results to the debug
62           log in TAP format (https://testanything.org/). Only useful for
63           kernel devs running KUnit test harness and are not for inclusion
64           into a production build.
66           For more information on KUnit and unit tests in general, refer
67           to the KUnit documentation in Documentation/dev-tools/kunit/.
69 config FIREWIRE_KUNIT_SELF_ID_SEQUENCE_HELPER_TEST
70         tristate "KUnit tests for helpers of self ID sequence" if !KUNIT_ALL_TESTS
71         depends on FIREWIRE && KUNIT
72         default KUNIT_ALL_TESTS
73         help
74           This builds the KUnit tests for helpers of self ID sequence.
76           KUnit tests run during boot and output the results to the debug
77           log in TAP format (https://testanything.org/). Only useful for
78           kernel devs running KUnit test harness and are not for inclusion
79           into a production build.
81           For more information on KUnit and unit tests in general, refer
82           to the KUnit documentation in Documentation/dev-tools/kunit/.
84 config FIREWIRE_OHCI
85         tristate "OHCI-1394 controllers"
86         depends on PCI && FIREWIRE && MMU
87         help
88           Enable this driver if you have a FireWire controller based
89           on the OHCI specification.  For all practical purposes, this
90           is the only chipset in use, so say Y here.
92           To compile this driver as a module, say M here:  The module will be
93           called firewire-ohci.
95 config FIREWIRE_KUNIT_OHCI_SERDES_TEST
96         tristate "KUnit tests for serialization/deserialization of data in buffers/registers" if !KUNIT_ALL_TESTS
97         depends on FIREWIRE && KUNIT
98         default KUNIT_ALL_TESTS
99         help
100           This builds the KUnit tests to check serialization and deserialization
101           of data in buffers and registers defined in 1394 OHCI specification.
103           KUnit tests run during boot and output the results to the debug
104           log in TAP format (https://testanything.org/). Only useful for
105           kernel devs running KUnit test harness and are not for inclusion
106           into a production build.
108           For more information on KUnit and unit tests in general, refer
109           to the KUnit documentation in Documentation/dev-tools/kunit/.
111 config FIREWIRE_SBP2
112         tristate "Storage devices (SBP-2 protocol)"
113         depends on FIREWIRE && SCSI
114         help
115           This option enables you to use SBP-2 devices connected to a
116           FireWire bus.  SBP-2 devices include storage devices like
117           harddisks and DVD drives, also some other FireWire devices
118           like scanners.
120           To compile this driver as a module, say M here:  The module will be
121           called firewire-sbp2.
123           You should also enable support for disks, CD-ROMs, etc. in the SCSI
124           configuration section.
126 config FIREWIRE_NET
127         tristate "IP networking over 1394"
128         depends on FIREWIRE && INET
129         help
130           This enables IPv4/IPv6 over IEEE 1394, providing IP connectivity
131           with other implementations of RFC 2734/3146 as found on several
132           operating systems.  Multicast support is currently limited.
134           To compile this driver as a module, say M here:  The module will be
135           called firewire-net.
137 config FIREWIRE_NOSY
138         tristate "Nosy - a FireWire traffic sniffer for PCILynx cards"
139         depends on PCI
140         help
141           Nosy is an IEEE 1394 packet sniffer that is used for protocol
142           analysis and in development of IEEE 1394 drivers, applications,
143           or firmwares.
145           This driver lets you use a Texas Instruments PCILynx 1394 to PCI
146           link layer controller TSB12LV21/A/B as a low-budget bus analyzer.
147           PCILynx is a nowadays very rare IEEE 1394 controller which is
148           not OHCI 1394 compliant.
150           The following cards are known to be based on PCILynx or PCILynx-2:
151           IOI IOI-1394TT (PCI card), Unibrain Fireboard 400 PCI Lynx-2
152           (PCI card), Newer Technology FireWire 2 Go (CardBus card),
153           Apple Power Mac G3 blue & white and G4 with PCI graphics
154           (onboard controller).
156           To compile this driver as a module, say M here:  The module will be
157           called nosy.  Source code of a userspace interface to nosy, called
158           nosy-dump, can be found in tools/firewire/ of the kernel sources.
160           If unsure, say N.
162 endmenu