Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason...
[cascardo/linux.git] / drivers / nvdimm / Kconfig
index 72226ac..53c1162 100644 (file)
@@ -21,6 +21,7 @@ config BLK_DEV_PMEM
        default LIBNVDIMM
        depends on HAS_IOMEM
        select ND_BTT if BTT
+       select ND_PFN if NVDIMM_PFN
        help
          Memory ranges for PMEM are described by either an NFIT
          (NVDIMM Firmware Interface Table, see CONFIG_NFIT_ACPI), a
@@ -47,12 +48,16 @@ config ND_BLK
          (CONFIG_ACPI_NFIT), or otherwise exposes BLK-mode
          capabilities.
 
+config ND_CLAIM
+       bool
+
 config ND_BTT
        tristate
 
 config BTT
        bool "BTT: Block Translation Table (atomic sector updates)"
        default y if LIBNVDIMM
+       select ND_CLAIM
        help
          The Block Translation Table (BTT) provides atomic sector
          update semantics for persistent memory devices, so that
@@ -65,4 +70,22 @@ config BTT
 
          Select Y if unsure
 
+config ND_PFN
+       tristate
+
+config NVDIMM_PFN
+       bool "PFN: Map persistent (device) memory"
+       default LIBNVDIMM
+       depends on ZONE_DEVICE
+       select ND_CLAIM
+       help
+         Map persistent memory, i.e. advertise it to the memory
+         management sub-system.  By default persistent memory does
+         not support direct I/O, RDMA, or any other usage that
+         requires a 'struct page' to mediate an I/O request.  This
+         driver allocates and initializes the infrastructure needed
+         to support those use cases.
+
+         Select Y if unsure
+
 endif