Lines Matching refs:nd_pfn

225 static int nd_pfn_init(struct nd_pfn *nd_pfn)  in nd_pfn_init()  argument
228 struct pmem_device *pmem = dev_get_drvdata(&nd_pfn->dev); in nd_pfn_init()
229 struct nd_namespace_common *ndns = nd_pfn->ndns; in nd_pfn_init()
239 nd_pfn->pfn_sb = pfn_sb; in nd_pfn_init()
240 rc = nd_pfn_validate(nd_pfn); in nd_pfn_init()
249 nd_region = to_nd_region(nd_pfn->dev.parent); in nd_pfn_init()
251 dev_info(&nd_pfn->dev, in nd_pfn_init()
265 if (nd_pfn->mode == PFN_MODE_PMEM) in nd_pfn_init()
267 else if (nd_pfn->mode == PFN_MODE_RAM) in nd_pfn_init()
273 pfn_sb->mode = cpu_to_le32(nd_pfn->mode); in nd_pfn_init()
277 memcpy(pfn_sb->uuid, nd_pfn->uuid, 16); in nd_pfn_init()
288 nd_pfn->pfn_sb = NULL; in nd_pfn_init()
295 struct nd_pfn *nd_pfn = to_nd_pfn(ndns->claim); in nvdimm_namespace_detach_pfn() local
299 pmem = dev_get_drvdata(&nd_pfn->dev); in nvdimm_namespace_detach_pfn()
303 kfree(nd_pfn->pfn_sb); in nvdimm_namespace_detach_pfn()
304 nd_pfn->pfn_sb = NULL; in nvdimm_namespace_detach_pfn()
312 struct nd_pfn *nd_pfn = to_nd_pfn(ndns->claim); in nvdimm_namespace_attach_pfn() local
313 struct device *dev = &nd_pfn->dev; in nvdimm_namespace_attach_pfn()
321 if (!nd_pfn->uuid || !nd_pfn->ndns) in nvdimm_namespace_attach_pfn()
325 rc = nd_pfn_init(nd_pfn); in nvdimm_namespace_attach_pfn()
339 pfn_sb = nd_pfn->pfn_sb; in nvdimm_namespace_attach_pfn()
341 nd_pfn->mode = le32_to_cpu(nd_pfn->pfn_sb->mode); in nvdimm_namespace_attach_pfn()
342 if (nd_pfn->mode == PFN_MODE_RAM) { in nvdimm_namespace_attach_pfn()
345 nd_pfn->npfns = le64_to_cpu(pfn_sb->npfns); in nvdimm_namespace_attach_pfn()