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_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
	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 SCLP_OFB
	def_bool n
	prompt "Support for Open-for-Business SCLP Event"
	depends on S390
	help
	  This option enables the Open-for-Business interface to the s390
	  Service Element.

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
	select CMA
	help
	  Select this option if you want to be able to interact with the control
	  program on z/VM

config VMCP_CMA_SIZE
	int "Memory in MiB reserved for z/VM CP interface"
	default "4"
	depends on VMCP
	help
	  Specify the default amount of memory in MiB reserved for the z/VM CP
	  interface. If needed this memory is used for large contiguous memory
	  allocations. The default can be changed with the kernel command line
	  parameter "vmcp_cma".

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.

