# SPDX-License-Identifier: GPL-2.0
comment "S/390 block device drivers"
	depends on S390 && BLOCK

config BLK_DEV_XPRAM
	def_tristate m
	prompt "XPRAM disk support"
	depends on S390 && BLOCK
	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".

config DCSSBLK
	def_tristate m
	select FS_DAX_LIMITED
	select DAX_DRIVER
	prompt "DCSSBLK support"
	depends on S390 && BLOCK
	help
	  Support for dcss block device

config DASD
	def_tristate y
	prompt "Support for DASD devices"
	depends on CCW && BLOCK
	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
	def_bool y
	prompt "Profiling support for dasd devices"
	depends on DASD
	help
	  Enable this option if you want to see profiling information
	  in /proc/dasd/statistics.

config DASD_ECKD
	def_tristate y
	prompt "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
	def_tristate y
	prompt "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
	def_tristate y
	prompt "Support for DIAG access to Disks"
	depends on DASD
	help
	  Select this option if you want to use Diagnose250 command to access
	  Disks under VM.  If you are not running under VM or unsure what it is,
	  say "N".

config DASD_EER
	def_bool y
	prompt "Extended error reporting (EER)"
	depends on DASD
	help
	  This driver provides a character device interface to the
	  DASD extended error reporting. This is only needed if you want to
	  use applications written for the EER facility.

config SCM_BLOCK
	def_tristate m
	prompt "Support for Storage Class Memory"
	depends on S390 && BLOCK && EADM_SCH && SCM_BUS
	help
	  Block device driver for Storage Class Memory (SCM). This driver
	  provides a block device interface for each available SCM increment.

	  To compile this driver as a module, choose M here: the
	  module will be called scm_block.
