config CCW
	bool
	default y


menu "Block device drivers"

config BLK_DEV_LOOP
	tristate "Loopback device support"
	---help---
	  Saying Y here will allow you to use a regular file as a block
	  device; you can then create a file system on that block device and
	  mount it just as you would mount other block devices such as hard
	  drive partitions, CD-ROM drives or floppy drives. The loop devices
	  are block special device files with major number 7 and typically
	  called /dev/loop0, /dev/loop1 etc.

	  This is useful if you want to check an ISO 9660 file system before
	  burning the CD, or if you want to use floppy images without first
	  writing them to floppy. Furthermore, some Linux distributions avoid
	  the need for a dedicated Linux partition by keeping their complete
	  root file system inside a DOS FAT file using this loop device
	  driver.

	  The loop device driver can also be used to "hide" a file system in a
	  disk partition, floppy, or regular file, either using encryption
	  (scrambling the data) or steganography (hiding the data in the low
	  bits of, say, a sound file). This is also safe if the file resides
	  on a remote file server. If you want to do this, you will first have
	  to acquire and install a kernel patch from
	  <ftp://ftp.kerneli.org/pub/kerneli/>, and then you need to
	  say Y to this option.

	  Note that alternative ways to use encrypted file systems are
	  provided by the cfs package, which can be gotten from
	  <ftp://ftp.kerneli.org/pub/kerneli/net-source/>, and the newer tcfs
	  package, available at <http://tcfs.dia.unisa.it/>. You do not need
	  to say Y here if you want to use one of these. However, using cfs
	  requires saying Y to "NFS file system support" below while using
	  tcfs requires applying a kernel patch. An alternative steganography
	  solution is provided by StegFS, also available from
	  <ftp://ftp.kerneli.org/pub/kerneli/net-source/>.

	  To use the loop device, you need the losetup utility and a recent
	  version of the mount program, both contained in the util-linux
	  package. The location and current version number of util-linux is
	  contained in the file <file:Documentation/Changes>.

	  Note that this loop device has nothing to do with the loopback
	  device used for network connections from the machine to itself.

	  If you want to compile this driver as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt>. The module
	  will be called loop.

	  Most users will answer N here.

config BLK_DEV_NBD
	tristate "Network block device support"
	depends on NET
	---help---
	  Saying Y here will allow your computer to be a client for network
	  block devices, i.e. it will be able to use block devices exported by
	  servers (mount file systems on them etc.). Communication between
	  client and server works over TCP/IP networking, but to the client
	  program this is hidden: it looks like a regular local file access to
	  a block device special file such as /dev/nd0.

	  Network block devices also allows you to run a block-device in
	  userland (making server and client physically the same computer,
	  communicating using the loopback network device).

	  Read <file:Documentation/nbd.txt> for more information, especially
	  about where to find the server code, which runs in user space and
	  does not need special kernel support.

	  Note that this has nothing to do with the network file systems NFS
	  or Coda; you can say N here even if you intend to use NFS or Coda.

	  If you want to compile this driver as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M here and read <file:Documentation/modules.txt>. The module
	  will be called nbd.

	  If unsure, say N.

config BLK_DEV_RAM
	tristate "RAM disk support"
	---help---
	  Saying Y here will allow you to use a portion of your RAM memory as
	  a block device, so that you can make file systems on it, read and
	  write to it and do all the other things that you can do with normal
	  block devices (such as hard drives). It is usually used to load and
	  store a copy of a minimal root file system off of a floppy into RAM
	  during the initial install of Linux.

	  Note that the kernel command line option "ramdisk=XX" is now
	  obsolete. For details, read <file:Documentation/ramdisk.txt>.

	  If you want to compile this as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want),
	  say M and read <file:Documentation/modules.txt>. The module will be
	  called rd.

	  Most normal users won't need the RAM disk functionality, and can
	  thus say N here.

config BLK_DEV_RAM_SIZE
	int "Default RAM disk size"
	depends on BLK_DEV_RAM
	default "24576"
	help
	  The default value is 4096. Only change this if you know what are
	  you doing. If you are using IBM S/390, then set this to 8192.

config BLK_DEV_INITRD
	bool "Initial RAM disk (initrd) support"
	depends on BLK_DEV_RAM=y
	help
	  The initial RAM disk is a RAM disk that is loaded by the boot loader
	  (loadlin or lilo) and that is mounted as root before the normal boot
	  procedure. It is typically used to load modules needed to mount the
	  "real" root file system, etc. See <file:Documentation/initrd.txt>
	  for details.

config BLK_DEV_XPRAM
	tristate "XPRAM disk support"
	help
	  Select this option if you want to use your expanded storage on S/390
	  or zSeries as a disk.  This is useful as a _fast_ swap device if you
	  want to access more than 2G of memory when running in 31 bit mode.
	  This option is also available as a module which will be called
	  xpram.  If unsure, say "N".

comment "S/390 block device drivers"

config DASD
	tristate "Support for DASD devices"
	help
	  Enable this option if you want to access DASDs directly utilizing
	  S/390s channel subsystem commands. This is necessary for running
	  natively on a single image or an LPAR.

config DASD_PROFILE
	bool "Profiling support for dasd devices"
	help
	  Enable this option if you want to see profiling information
          in /proc/dasd/statistics.

config DASD_ECKD
	tristate "Support for ECKD Disks"
	depends on DASD
	help
	  ECKD devices are the most commonly used devices. You should enable
	  this option unless you are very sure to have no ECKD device.

config DASD_FBA
	tristate "Support for FBA  Disks"
	depends on DASD
	help
	  Select this option to be able to access FBA devices. It is safe to
	  say "Y".

config DASD_DIAG
	tristate "Support for DIAG access to CMS reserved Disks"
	depends on DASD && ARCH_S390X = 'n'
	help
	  Select this option if you want to use CMS reserved Disks under VM
	  with the Diagnose250 command.  If you are not running under VM or
	  unsure what it is, say "N".

endmenu

source "drivers/md/Kconfig"


menu "Character device drivers"

config UNIX98_PTYS
	bool "Unix98 PTY support"
	---help---
	  A pseudo terminal (PTY) is a software device consisting of two
	  halves: a master and a slave. The slave device behaves identical to
	  a physical terminal; the master device is used by a process to
	  read data from and write data to the slave, thereby emulating a
	  terminal. Typical programs for the master side are telnet servers
	  and xterms.

	  Linux has traditionally used the BSD-like names /dev/ptyxx for
	  masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
	  has a number of problems. The GNU C library glibc 2.1 and later,
	  however, supports the Unix98 naming standard: in order to acquire a
	  pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
	  terminal is then made available to the process and the pseudo
	  terminal slave can be accessed as /dev/pts/<number>. What was
	  traditionally /dev/ttyp2 will then be /dev/pts/2, for example.

	  The entries in /dev/pts/ are created on the fly by a virtual
	  file system; therefore, if you say Y here you should say Y to
	  "/dev/pts file system for Unix98 PTYs" as well.

	  If you want to say Y here, you need to have the C library glibc 2.1
	  or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
	  Read the instructions in <file:Documentation/Changes> pertaining to
	  pseudo terminals. It's safe to say N.

config UNIX98_PTY_COUNT
	int "Maximum number of Unix98 PTYs in use (0-2048)"
	depends on UNIX98_PTYS
	default "256"
	help
	  The maximum number of Unix98 PTYs that can be used at any one time.
	  The default is 256, and should be enough for desktop systems. Server
	  machines which support incoming telnet/rlogin/ssh connections and/or
	  serve several X terminals may want to increase this: every incoming
	  connection and every xterm uses up one PTY.

	  When not in use, each additional set of 256 PTYs occupy
	  approximately 8 KB of kernel memory on 32-bit architectures.

comment "S/390 character device drivers"

config TN3270
	tristate "Support for locally attached 3270 tubes"
	help
	  Include support for IBM 3270 line-mode terminals.

config TN3270_CONSOLE
	bool "Support for console on 3270 line mode terminal"
	depends on TN3270=y
	help
	  Include support for using an IBM 3270 line-mode terminal as a Linux
	  system console.  Available only if 3270 support is compiled in
	  statically.

config TN3215
	bool "Support for 3215 line mode terminal"
	help
	  Include support for IBM 3215 line-mode terminals.

config TN3215_CONSOLE
	bool "Support for console on 3215 line mode terminal"
	depends on TN3215
	help
	  Include support for using an IBM 3215 line-mode terminal as a
	  Linux system console.

config CCW_CONSOLE
 	bool
 	depends on TN3215_CONSOLE || TN3270_CONSOLE
 	default y
 
config SCLP
	bool "Support for SCLP"
	help
	  Include support for the SCLP interface to the service element.

config SCLP_TTY
	bool "Support for SCLP line mode terminal"
	depends on SCLP
	help
	  Include support for IBM SCLP line-mode terminals.

config SCLP_CONSOLE
	bool "Support for console on SCLP line mode terminal"
	depends on SCLP_TTY
	help
	  Include support for using an IBM HWC line-mode terminal as the Linux
	  system console.

config SCLP_CPI
	tristate "Control-Program Identification"
	depends on SCLP
	help
	  This option enables the hardware console interface for system
	  identification. This is commonly used for workload management and
	  gives you a nice name for the system on the service element.
	  Please select this option as a module since built-in operation is
	  completely untested.
	  You should only select this option if you know what you are doing,
	  need this feature and intend to run your kernel in LPAR.

config S390_TAPE
	tristate "S/390 tape device support"
	help
	  Select this option if you want to access channel-attached tape
	  devices on IBM S/390 or zSeries.
	  If you select this option you will also want to select at
	  least one of the tape interface options and one of the tape
	  hardware options in order to access a tape device.
	  This option is also available as a module. The module will be
	  called tape390 and include all selected interfaces and
	  hardware drivers.

comment "S/390 tape interface support"
	depends on S390_TAPE

config S390_TAPE_BLOCK
	bool "Support for tape block devices"
	depends on S390_TAPE
	help
	  Select this option if you want to access your channel-attached tape
	  devices using the block device interface.  This interface is similar
	  to CD-ROM devices on other platforms.  The tapes can only be
	  accessed read-only when using this interface.  Have a look at
	  Documentation/s390/TAPE for further information about creating
	  volumes for and using this interface.  It is safe to say "Y" here.

comment "S/390 tape hardware support"
	depends on S390_TAPE

config S390_TAPE_34XX
	tristate "Support for 3480/3490 tape hardware"
	depends on S390_TAPE
	help
	  Select this option if you want to access IBM 3480/3490 magnetic
	  tape subsystems and 100% compatibles.
	  It is safe to say "Y" here.

endmenu


config HOTPLUG
	bool
	default y
	---help---
	  Say Y here if you want to plug devices into your computer while
	  the system is running, and be able to use them quickly.  In many
	  cases, the devices can likewise be unplugged at any time too.

	  One well known example of this is PCMCIA- or PC-cards, credit-card
	  size devices such as network cards, modems or hard drives which are
	  plugged into slots found on all modern laptop computers.  Another
	  example, used on modern desktops as well as laptops, is USB.

	  Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
	  software (at <http://linux-hotplug.sourceforge.net/>) and install it.
	  Then your kernel will automatically call out to a user mode "policy
	  agent" (/sbin/hotplug) to load modules and set up software needed
	  to use devices as you hotplug them.


