On Tue, 2014-09-09 at 18:43 +0300, Boaz Harrosh wrote:
From: Boaz Harrosh <boaz(a)plexistor.com>
This patch removes any global memory information. And lets
each pmem-device manage it's own memory region.
pmem_alloc() Now receives phys_addr and disk_size and will
map that region, also pmem_free will do the unmaping.
This is so we can support multiple discontinuous memory regions
in the next patch
Signed-off-by: Boaz Harrosh <boaz(a)plexistor.com>
drivers/block/pmem.c | 122 +++++++++++++++++++++++++++++++--------------------
1 file changed, 75 insertions(+), 47 deletions(-)
@@ -234,26 +227,70 @@ MODULE_PARM_DESC(pmem_count, "Number of
pmem devices to evenly split allocated s
static int pmem_major;
-/* FIXME: move phys_addr, virt_addr, size calls up to caller */
-static struct pmem_device *pmem_alloc(int i)
+/* pmem->phys_addr and pmem->size need to be set.
+ * Will then set virt_addr if successful.
+int pmem_mapmem(struct pmem_device *pmem)
Maybe just pmem_map() and pmem_unmap() for simplicity?
Looks good. You can add:
Reviewed-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
I'll pull it into the tree at https://github.com/01org/prd