Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block
[sfrench/cifs-2.6.git] / drivers / block / Kconfig
1 #
2 # Block device driver configuration
3 #
4
5 menuconfig BLK_DEV
6         bool "Block devices"
7         depends on BLOCK
8         default y
9
10 if BLK_DEV
11
12 config BLK_DEV_FD
13         tristate "Normal floppy disk support"
14         depends on ARCH_MAY_HAVE_PC_FDC
15         ---help---
16           If you want to use the floppy disk drive(s) of your PC under Linux,
17           say Y. Information about this driver, especially important for IBM
18           Thinkpad users, is contained in <file:Documentation/floppy.txt>.
19           That file also contains the location of the Floppy driver FAQ as
20           well as location of the fdutils package used to configure additional
21           parameters of the driver at run time.
22
23           To compile this driver as a module, choose M here: the
24           module will be called floppy.
25
26 config AMIGA_FLOPPY
27         tristate "Amiga floppy support"
28         depends on AMIGA
29
30 config ATARI_FLOPPY
31         tristate "Atari floppy support"
32         depends on ATARI
33
34 config MAC_FLOPPY
35         tristate "Support for PowerMac floppy"
36         depends on PPC_PMAC && !PPC_PMAC64
37         help
38           If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple)
39           floppy controller, say Y here. Most commonly found in PowerMacs.
40
41 config BLK_DEV_PS2
42         tristate "PS/2 ESDI hard disk support"
43         depends on MCA && MCA_LEGACY && BROKEN
44         help
45           Say Y here if you have a PS/2 machine with a MCA bus and an ESDI
46           hard disk.
47
48           To compile this driver as a module, choose M here: the
49           module will be called ps2esdi.
50
51 config AMIGA_Z2RAM
52         tristate "Amiga Zorro II ramdisk support"
53         depends on ZORRO
54         help
55           This enables support for using Chip RAM and Zorro II RAM as a
56           ramdisk or as a swap partition. Say Y if you want to include this
57           driver in the kernel.
58
59           To compile this driver as a module, choose M here: the
60           module will be called z2ram.
61
62 config BLK_DEV_XD
63         tristate "XT hard disk support"
64         depends on ISA && ISA_DMA_API
65         help
66           Very old 8 bit hard disk controllers used in the IBM XT computer
67           will be supported if you say Y here.
68
69           To compile this driver as a module, choose M here: the
70           module will be called xd.
71
72           It's pretty unlikely that you have one of these: say N.
73
74 config PARIDE
75         tristate "Parallel port IDE device support"
76         depends on PARPORT_PC
77         ---help---
78           There are many external CD-ROM and disk devices that connect through
79           your computer's parallel port. Most of them are actually IDE devices
80           using a parallel port IDE adapter. This option enables the PARIDE
81           subsystem which contains drivers for many of these external drives.
82           Read <file:Documentation/paride.txt> for more information.
83
84           If you have said Y to the "Parallel-port support" configuration
85           option, you may share a single port between your printer and other
86           parallel port devices. Answer Y to build PARIDE support into your
87           kernel, or M if you would like to build it as a loadable module. If
88           your parallel port support is in a loadable module, you must build
89           PARIDE as a module. If you built PARIDE support into your kernel,
90           you may still build the individual protocol modules and high-level
91           drivers as loadable modules. If you build this support as a module,
92           it will be called paride.
93
94           To use the PARIDE support, you must say Y or M here and also to at
95           least one high-level driver (e.g. "Parallel port IDE disks",
96           "Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and
97           to at least one protocol driver (e.g. "ATEN EH-100 protocol",
98           "MicroSolutions backpack protocol", "DataStor Commuter protocol"
99           etc.).
100
101 source "drivers/block/paride/Kconfig"
102
103 config BLK_CPQ_DA
104         tristate "Compaq SMART2 support"
105         depends on PCI && VIRT_TO_BUS
106         help
107           This is the driver for Compaq Smart Array controllers.  Everyone
108           using these boards should say Y here.  See the file
109           <file:Documentation/cpqarray.txt> for the current list of boards
110           supported by this driver, and for further information on the use of
111           this driver.
112
113 config BLK_CPQ_CISS_DA
114         tristate "Compaq Smart Array 5xxx support"
115         depends on PCI
116         help
117           This is the driver for Compaq Smart Array 5xxx controllers.
118           Everyone using these boards should say Y here.
119           See <file:Documentation/cciss.txt> for the current list of
120           boards supported by this driver, and for further information
121           on the use of this driver.
122
123 config CISS_SCSI_TAPE
124         bool "SCSI tape drive support for Smart Array 5xxx"
125         depends on BLK_CPQ_CISS_DA && PROC_FS
126         depends on SCSI=y || SCSI=BLK_CPQ_CISS_DA
127         help
128           When enabled (Y), this option allows SCSI tape drives and SCSI medium
129           changers (tape robots) to be accessed via a Compaq 5xxx array 
130           controller.  (See <file:Documentation/cciss.txt> for more details.)
131
132           "SCSI support" and "SCSI tape support" must also be enabled for this 
133           option to work.
134
135           When this option is disabled (N), the SCSI portion of the driver 
136           is not compiled.
137
138 config BLK_DEV_DAC960
139         tristate "Mylex DAC960/DAC1100 PCI RAID Controller support"
140         depends on PCI
141         help
142           This driver adds support for the Mylex DAC960, AcceleRAID, and
143           eXtremeRAID PCI RAID controllers.  See the file
144           <file:Documentation/README.DAC960> for further information about
145           this driver.
146
147           To compile this driver as a module, choose M here: the
148           module will be called DAC960.
149
150 config BLK_DEV_UMEM
151         tristate "Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)"
152         depends on PCI && EXPERIMENTAL
153         ---help---
154           Saying Y here will include support for the MM5415 family of
155           battery backed (Non-volatile) RAM cards.
156           <http://www.umem.com/>
157
158           The cards appear as block devices that can be partitioned into
159           as many as 15 partitions.
160
161           To compile this driver as a module, choose M here: the
162           module will be called umem.
163
164           The umem driver has not yet been allocated a MAJOR number, so
165           one is chosen dynamically.
166
167 config BLK_DEV_UBD
168         bool "Virtual block device"
169         depends on UML
170         ---help---
171           The User-Mode Linux port includes a driver called UBD which will let
172           you access arbitrary files on the host computer as block devices.
173           Unless you know that you do not need such virtual block devices say
174           Y here.
175
176 config BLK_DEV_UBD_SYNC
177         bool "Always do synchronous disk IO for UBD"
178         depends on BLK_DEV_UBD
179         ---help---
180           Writes to the virtual block device are not immediately written to the
181           host's disk; this may cause problems if, for example, the User-Mode
182           Linux 'Virtual Machine' uses a journalling filesystem and the host
183           computer crashes.
184
185           Synchronous operation (i.e. always writing data to the host's disk
186           immediately) is configurable on a per-UBD basis by using a special
187           kernel command line option.  Alternatively, you can say Y here to
188           turn on synchronous operation by default for all block devices.
189
190           If you're running a journalling file system (like reiserfs, for
191           example) in your virtual machine, you will want to say Y here.  If
192           you care for the safety of the data in your virtual machine, Y is a
193           wise choice too.  In all other cases (for example, if you're just
194           playing around with User-Mode Linux) you can choose N.
195
196 config BLK_DEV_COW_COMMON
197         bool
198         default BLK_DEV_UBD
199
200 config MMAPPER
201         tristate "Example IO memory driver (BROKEN)"
202         depends on UML && BROKEN
203         ---help---
204           The User-Mode Linux port can provide support for IO Memory
205           emulation with this option.  This allows a host file to be
206           specified as an I/O region on the kernel command line. That file
207           will be mapped into UML's kernel address space where a driver can
208           locate it and do whatever it wants with the memory, including
209           providing an interface to it for UML processes to use.
210
211           For more information, see
212           <http://user-mode-linux.sourceforge.net/iomem.html>.
213
214           If you'd like to be able to provide a simulated IO port space for
215           User-Mode Linux processes, say Y.  If unsure, say N.
216
217 config BLK_DEV_LOOP
218         tristate "Loopback device support"
219         ---help---
220           Saying Y here will allow you to use a regular file as a block
221           device; you can then create a file system on that block device and
222           mount it just as you would mount other block devices such as hard
223           drive partitions, CD-ROM drives or floppy drives. The loop devices
224           are block special device files with major number 7 and typically
225           called /dev/loop0, /dev/loop1 etc.
226
227           This is useful if you want to check an ISO 9660 file system before
228           burning the CD, or if you want to use floppy images without first
229           writing them to floppy. Furthermore, some Linux distributions avoid
230           the need for a dedicated Linux partition by keeping their complete
231           root file system inside a DOS FAT file using this loop device
232           driver.
233
234           To use the loop device, you need the losetup utility, found in the
235           util-linux package, see
236           <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>.
237
238           The loop device driver can also be used to "hide" a file system in
239           a disk partition, floppy, or regular file, either using encryption
240           (scrambling the data) or steganography (hiding the data in the low
241           bits of, say, a sound file). This is also safe if the file resides
242           on a remote file server.
243
244           There are several ways of encrypting disks. Some of these require
245           kernel patches. The vanilla kernel offers the cryptoloop option
246           and a Device Mapper target (which is superior, as it supports all
247           file systems). If you want to use the cryptoloop, say Y to both
248           LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12
249           or later) version of util-linux. Additionally, be aware that
250           the cryptoloop is not safe for storing journaled filesystems.
251
252           Note that this loop device has nothing to do with the loopback
253           device used for network connections from the machine to itself.
254
255           To compile this driver as a module, choose M here: the
256           module will be called loop.
257
258           Most users will answer N here.
259
260 config BLK_DEV_CRYPTOLOOP
261         tristate "Cryptoloop Support"
262         select CRYPTO
263         select CRYPTO_CBC
264         depends on BLK_DEV_LOOP
265         ---help---
266           Say Y here if you want to be able to use the ciphers that are 
267           provided by the CryptoAPI as loop transformation. This might be
268           used as hard disk encryption.
269
270           WARNING: This device is not safe for journaled file systems like
271           ext3 or Reiserfs. Please use the Device Mapper crypto module
272           instead, which can be configured to be on-disk compatible with the
273           cryptoloop device.
274
275 config BLK_DEV_NBD
276         tristate "Network block device support"
277         depends on NET
278         ---help---
279           Saying Y here will allow your computer to be a client for network
280           block devices, i.e. it will be able to use block devices exported by
281           servers (mount file systems on them etc.). Communication between
282           client and server works over TCP/IP networking, but to the client
283           program this is hidden: it looks like a regular local file access to
284           a block device special file such as /dev/nd0.
285
286           Network block devices also allows you to run a block-device in
287           userland (making server and client physically the same computer,
288           communicating using the loopback network device).
289
290           Read <file:Documentation/nbd.txt> for more information, especially
291           about where to find the server code, which runs in user space and
292           does not need special kernel support.
293
294           Note that this has nothing to do with the network file systems NFS
295           or Coda; you can say N here even if you intend to use NFS or Coda.
296
297           To compile this driver as a module, choose M here: the
298           module will be called nbd.
299
300           If unsure, say N.
301
302 config BLK_DEV_SX8
303         tristate "Promise SATA SX8 support"
304         depends on PCI
305         ---help---
306           Saying Y or M here will enable support for the 
307           Promise SATA SX8 controllers.
308
309           Use devices /dev/sx8/$N and /dev/sx8/$Np$M.
310
311 config BLK_DEV_UB
312         tristate "Low Performance USB Block driver"
313         depends on USB
314         help
315           This driver supports certain USB attached storage devices
316           such as flash keys.
317
318           If you enable this driver, it is recommended to avoid conflicts
319           with usb-storage by enabling USB_LIBUSUAL.
320
321           If unsure, say N.
322
323 config BLK_DEV_RAM
324         tristate "RAM disk support"
325         ---help---
326           Saying Y here will allow you to use a portion of your RAM memory as
327           a block device, so that you can make file systems on it, read and
328           write to it and do all the other things that you can do with normal
329           block devices (such as hard drives). It is usually used to load and
330           store a copy of a minimal root file system off of a floppy into RAM
331           during the initial install of Linux.
332
333           Note that the kernel command line option "ramdisk=XX" is now
334           obsolete. For details, read <file:Documentation/ramdisk.txt>.
335
336           To compile this driver as a module, choose M here: the
337           module will be called rd.
338
339           Most normal users won't need the RAM disk functionality, and can
340           thus say N here.
341
342 config BLK_DEV_RAM_COUNT
343         int "Default number of RAM disks"
344         default "16"
345         depends on BLK_DEV_RAM
346         help
347           The default value is 16 RAM disks. Change this if you know what
348           are doing. If you boot from a filesystem that needs to be extracted
349           in memory, you will need at least one RAM disk (e.g. root on cramfs).
350
351 config BLK_DEV_RAM_SIZE
352         int "Default RAM disk size (kbytes)"
353         depends on BLK_DEV_RAM
354         default "4096"
355         help
356           The default value is 4096 kilobytes. Only change this if you know
357           what are you doing. If you are using IBM S/390, then set this to
358           8192.
359
360 config BLK_DEV_RAM_BLOCKSIZE
361         int "Default RAM disk block size (bytes)"
362         depends on BLK_DEV_RAM
363         default "1024"
364         help
365           The default value is 1024 bytes.  PAGE_SIZE is a much more
366           efficient choice however.  The default is kept to ensure initrd
367           setups function - apparently needed by the rd_load_image routine
368           that supposes the filesystem in the image uses a 1024 blocksize.
369
370 config CDROM_PKTCDVD
371         tristate "Packet writing on CD/DVD media"
372         depends on !UML
373         help
374           If you have a CDROM/DVD drive that supports packet writing, say
375           Y to include support. It should work with any MMC/Mt Fuji
376           compliant ATAPI or SCSI drive, which is just about any newer
377           DVD/CD writer.
378
379           Currently only writing to CD-RW, DVD-RW, DVD+RW and DVDRAM discs
380           is possible.
381           DVD-RW disks must be in restricted overwrite mode.
382
383           See the file <file:Documentation/cdrom/packet-writing.txt>
384           for further information on the use of this driver.
385
386           To compile this driver as a module, choose M here: the
387           module will be called pktcdvd.
388
389 config CDROM_PKTCDVD_BUFFERS
390         int "Free buffers for data gathering"
391         depends on CDROM_PKTCDVD
392         default "8"
393         help
394           This controls the maximum number of active concurrent packets. More
395           concurrent packets can increase write performance, but also require
396           more memory. Each concurrent packet will require approximately 64Kb
397           of non-swappable kernel memory, memory which will be allocated when
398           a disc is opened for writing.
399
400 config CDROM_PKTCDVD_WCACHE
401         bool "Enable write caching (EXPERIMENTAL)"
402         depends on CDROM_PKTCDVD && EXPERIMENTAL
403         help
404           If enabled, write caching will be set for the CD-R/W device. For now
405           this option is dangerous unless the CD-RW media is known good, as we
406           don't do deferred write error handling yet.
407
408 config ATA_OVER_ETH
409         tristate "ATA over Ethernet support"
410         depends on NET
411         help
412         This driver provides Support for ATA over Ethernet block
413         devices like the Coraid EtherDrive (R) Storage Blade.
414
415 config SUNVDC
416         tristate "Sun Virtual Disk Client support"
417         depends on SUN_LDOMS
418         help
419           Support for virtual disk devices as a client under Sun
420           Logical Domains.
421
422 source "drivers/s390/block/Kconfig"
423
424 endif # BLK_DEV