libnvdimm: introduce devm_nvdimm_memremap(), convert nfit_spa_map() users
authorDan Williams <dan.j.williams@intel.com>
Tue, 7 Jun 2016 00:42:38 +0000 (17:42 -0700)
committerDan Williams <dan.j.williams@intel.com>
Fri, 8 Jul 2016 00:11:09 +0000 (17:11 -0700)
commit29b9aa0aa3837c93ecd804dd3ada39b8cc75607d
treec3ee3dbe22fb1ec4a71ff887f382b3eac815d4b3
parent81ed4e3670853e4cebad88aeffc0ba1d90d4d6ed
libnvdimm: introduce devm_nvdimm_memremap(), convert nfit_spa_map() users

In preparation for generically mapping flush hint addresses for both the
BLK and PMEM use case, provide a generic / reference counted mapping
api.  Given the fact that a dimm may belong to multiple regions (PMEM
and BLK), the flush hint addresses need to be held valid as long as any
region associated with the dimm is active.  This is similar to the
existing BLK-region case where multiple BLK-regions may share an
aperture mapping.  Up-level this shared / reference-counted mapping
capability from the nfit driver to a core nvdimm capability.

This eliminates the need for the nd_blk_region.disable() callback.  Note
that the removal of nfit_spa_map() and related infrastructure is
deferred to a later patch.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/acpi/nfit.c
drivers/nvdimm/Kconfig
drivers/nvdimm/core.c
drivers/nvdimm/nd-core.h
include/linux/libnvdimm.h