libnvdimm for 4.3:

1/ Introduce ZONE_DEVICE and devm_memremap_pages() as a generic
   mechanism for adding device-driver-discovered memory regions to the
   kernel's direct map.  This facility is used by the pmem driver to
   enable pfn_to_page() operations on the page frames returned by DAX
   ('direct_access' in 'struct block_device_operations'). For now, the
   'memmap' allocation for these "device" pages comes from "System
   RAM".  Support for allocating the memmap from device memory will
   arrive in a later kernel.

2/ Introduce memremap() to replace usages of ioremap_cache() and
   ioremap_wt().  memremap() drops the __iomem annotation for these
   mappings to memory that do not have i/o side effects.  The
   replacement of ioremap_cache() with memremap() is limited to the
   pmem driver to ease merging the api change in v4.3.  Completion of
   the conversion is targeted for v4.4.

3/ Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem
   driver, update the VFS DAX implementation and PMEM api to provide
   persistence guarantees for kernel operations on a DAX mapping.

4/ Convert the ACPI NFIT 'BLK' driver to map the block apertures as
   cacheable to improve performance.

5/ Miscellaneous updates and fixes to libnvdimm including support
   for issuing "address range scrub" commands, clarifying the optimal
   'sector size' of pmem devices, a clarification of the usage of the
   ACPI '_STA' (status) property for DIMM devices, and other minor
   fixes.