config DAX_DRIVER
	select DAX
	bool

menuconfig DAX
	tristate "DAX: direct access to differentiated memory"
	select SRCU
	default m if NVDIMM_DAX

if DAX

config DEV_DAX
	tristate "Device DAX: direct access mapping device"
	depends on TRANSPARENT_HUGEPAGE
	help
	  Support raw access to differentiated (persistence, bandwidth,
	  latency...) memory via an mmap(2) capable character
	  device.  Platform firmware or a device driver may identify a
	  platform memory resource that is differentiated from the
	  baseline memory pool.  Mappings of a /dev/daxX.Y device impose
	  restrictions that make the mapping behavior deterministic.

config DEV_DAX_PMEM
	tristate "PMEM DAX: direct access to persistent memory"
	depends on LIBNVDIMM && NVDIMM_DAX && DEV_DAX
	depends on m # until we can kill DEV_DAX_PMEM_COMPAT
	default DEV_DAX
	help
	  Support raw access to persistent memory.  Note that this
	  driver consumes memory ranges allocated and exported by the
	  libnvdimm sub-system.

	  Say M if unsure

config DEV_DAX_KMEM
	tristate "KMEM DAX: volatile-use of persistent memory"
	default DEV_DAX
	depends on DEV_DAX
	depends on MEMORY_HOTPLUG # for add_memory() and friends
	help
	  Support access to persistent memory as if it were RAM.  This
	  allows easier use of persistent memory by unmodified
	  applications.

	  To use this feature, a DAX device must be unbound from the
	  device_dax driver (PMEM DAX) and bound to this kmem driver
	  on each boot.

	  Say N if unsure.

config DEV_DAX_PMEM_COMPAT
	tristate "PMEM DAX: support the deprecated /sys/class/dax interface"
	depends on DEV_DAX_PMEM
	default DEV_DAX_PMEM
	help
	  Older versions of the libdaxctl library expect to find all
	  device-dax instances under /sys/class/dax. If libdaxctl in
	  your distribution is older than v58 say M, otherwise say N.

endif
