comment "S/390 character device drivers"
	depends on S390

config TN3270
	def_tristate y
	prompt "Support for locally attached 3270 terminals"
	depends on CCW
	help
	  Include support for IBM 3270 terminals.

config TN3270_TTY
	def_tristate y
	prompt "Support for tty input/output on 3270 terminals"
	depends on TN3270 && TTY
	help
	  Include support for using an IBM 3270 terminal as a Linux tty.

config TN3270_FS
	def_tristate m
	prompt "Support for fullscreen applications on 3270 terminals"
	depends on TN3270
	help
	  Include support for fullscreen applications on an IBM 3270 terminal.

config TN3270_CONSOLE
	def_bool y
	prompt "Support for console on 3270 terminal"
	depends on TN3270=y && TN3270_TTY=y
	help
	  Include support for using an IBM 3270 terminal as a Linux system
	  console.  Available only if 3270 support is compiled in statically.

config TN3215
	def_bool y
	prompt "Support for 3215 line mode terminal"
	depends on CCW && TTY
	help
	  Include support for IBM 3215 line-mode terminals.

config TN3215_CONSOLE
	def_bool y
	prompt "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
	def_bool y if TN3215_CONSOLE || TN3270_CONSOLE

config SCLP_TTY
	def_bool y
	prompt "Support for SCLP line mode terminal"
	depends on S390 && TTY
	help
	  Include support for IBM SCLP line-mode terminals.

config SCLP_CONSOLE
	def_bool y
	prompt "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_VT220_TTY
	def_bool y
	prompt "Support for SCLP VT220-compatible terminal"
	depends on S390 && TTY
	help
	  Include support for an IBM SCLP VT220-compatible terminal.

config SCLP_VT220_CONSOLE
	def_bool y
	prompt "Support for console on SCLP VT220-compatible terminal"
	depends on SCLP_VT220_TTY
	help
	  Include support for using an IBM SCLP VT220-compatible terminal as a
	  Linux system console.

config SCLP_CPI
	def_tristate m
	prompt "Control-Program Identification"
	depends on S390
	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 SCLP_ASYNC
	def_tristate m
	prompt "Support for Call Home via Asynchronous SCLP Records"
	depends on S390
	help
	  This option enables the call home function, which is able to inform
	  the service element and connected organisations about a kernel panic.
	  You should only select this option if you know what you are doing,
	  want for inform other people about your kernel panics,
	  need this feature and intend to run your kernel in LPAR.

config SCLP_ASYNC_ID
       string "Component ID for Call Home"
       depends on SCLP_ASYNC
       default "000000000"
       help
	 The Component ID for Call Home is used to identify the correct
	 problem reporting queue the call home records should be sent to.

	 If your are unsure, please use the default value "000000000".

config HMC_DRV
	def_tristate m
	prompt "Support for file transfers from HMC drive CD/DVD-ROM"
	depends on S390 && 64BIT
	select CRC16
	help
	  This option enables support for file transfers from a Hardware
	  Management Console (HMC) drive CD/DVD-ROM. It is available as a
	  module, called 'hmcdrv', and also as kernel built-in. There is one
	  optional parameter for this module: cachesize=N, which modifies the
	  transfer cache size from it's default value 0.5MB to N bytes. If N
	  is zero, then no caching is performed.

config S390_TAPE
	def_tristate m
	prompt "S/390 tape device support"
	depends on CCW
	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 hardware support"
	depends on S390_TAPE

config S390_TAPE_34XX
	def_tristate m
	prompt "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.

config S390_TAPE_3590
	def_tristate m
	prompt "Support for 3590 tape hardware"
	depends on S390_TAPE
	help
	  Select this option if you want to access IBM 3590 magnetic
	  tape subsystems and 100% compatibles.
	  It is safe to say "Y" here.

config VMLOGRDR
	def_tristate m
	prompt "Support for the z/VM recording system services (VM only)"
	depends on IUCV
	help
	  Select this option if you want to be able to receive records collected
	  by the z/VM recording system services, eg. from *LOGREC, *ACCOUNT or
	  *SYMPTOM.
	  This driver depends on the IUCV support driver.

config VMCP
	def_bool y
	prompt "Support for the z/VM CP interface"
	depends on S390
	help
	  Select this option if you want to be able to interact with the control
	  program on z/VM

config MONREADER
	def_tristate m
	prompt "API for reading z/VM monitor service records"
	depends on IUCV
	help
	  Character device driver for reading z/VM monitor service records

config MONWRITER
	def_tristate m
	prompt "API for writing z/VM monitor service records"
	depends on S390
	help
	  Character device driver for writing z/VM monitor service records

config S390_VMUR
	def_tristate m
	prompt "z/VM unit record device driver"
	depends on S390
	help
	  Character device driver for z/VM reader, puncher and printer.

