diff options
author | Christoph Hellwig <hch@lst.de> | 2017-12-29 10:54:05 +0300 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2018-01-08 22:46:23 +0300 |
commit | e8d5134833006a46fcbefc5f4a84d0b62bd520e7 (patch) | |
tree | dbd532f4ef91828e251a291c967ee3afe71fd475 /drivers/nvdimm/pmem.h | |
parent | e7744aa25cffe26d3767c9ffcf4e130cca1dff00 (diff) | |
download | linux-e8d5134833006a46fcbefc5f4a84d0b62bd520e7.tar.xz |
memremap: change devm_memremap_pages interface to use struct dev_pagemap
This new interface is similar to how struct device (and many others)
work. The caller initializes a 'struct dev_pagemap' as required
and calls 'devm_memremap_pages'. This allows the pagemap structure to
be embedded in another structure and thus container_of can be used. In
this way application specific members can be stored in a containing
struct.
This will be used by the P2P infrastructure and HMM could probably
be cleaned up to use it as well (instead of having it's own, similar
'hmm_devmem_pages_create' function).
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/nvdimm/pmem.h')
-rw-r--r-- | drivers/nvdimm/pmem.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nvdimm/pmem.h b/drivers/nvdimm/pmem.h index 6a3cd2a10db6..a64ebc78b5df 100644 --- a/drivers/nvdimm/pmem.h +++ b/drivers/nvdimm/pmem.h @@ -22,6 +22,7 @@ struct pmem_device { struct badblocks bb; struct dax_device *dax_dev; struct gendisk *disk; + struct dev_pagemap pgmap; }; long __pmem_direct_access(struct pmem_device *pmem, pgoff_t pgoff, |