libnvdimm, pfn: 'struct page' provider infrastructure
authorDan Williams <dan.j.williams@intel.com>
Thu, 30 Jul 2015 21:57:47 +0000 (17:57 -0400)
committerDan Williams <dan.j.williams@intel.com>
Sat, 29 Aug 2015 03:39:36 +0000 (23:39 -0400)
commite1455744b27c9e6115c3508a7b2902157c2c4347
tree6bfbc5d78269c9389f5bcfc1adc35d4f7f2e6fa4
parent96601adb745186ccbcf5b078d4756f13381ec2af
libnvdimm, pfn: 'struct page' provider infrastructure

Implement the base infrastructure for libnvdimm PFN devices. Similar to
BTT devices they take a namespace as a backing device and layer
functionality on top. In this case the functionality is reserving space
for an array of 'struct page' entries to be handed out through
pfn_to_page(). For now this is just the basic libnvdimm-device-model for
configuring the base PFN device.

As the namespace claiming mechanism for PFN devices is mostly identical
to BTT devices drivers/nvdimm/claim.c is created to house the common
bits.

Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
13 files changed:
drivers/nvdimm/Kconfig
drivers/nvdimm/Makefile
drivers/nvdimm/btt.c
drivers/nvdimm/btt_devs.c
drivers/nvdimm/claim.c [new file with mode: 0644]
drivers/nvdimm/namespace_devs.c
drivers/nvdimm/nd-core.h
drivers/nvdimm/nd.h
drivers/nvdimm/pfn.h [new file with mode: 0644]
drivers/nvdimm/pfn_devs.c [new file with mode: 0644]
drivers/nvdimm/region.c
drivers/nvdimm/region_devs.c
tools/testing/nvdimm/Kbuild