Lines Matching refs:vpmem
18 static int init_vq(struct virtio_pmem *vpmem)
21 vpmem->req_vq = virtio_find_single_vq(vpmem->vdev,
23 if (IS_ERR(vpmem->req_vq))
24 return PTR_ERR(vpmem->req_vq);
26 spin_lock_init(&vpmem->pmem_lock);
27 INIT_LIST_HEAD(&vpmem->req_list);
37 struct virtio_pmem *vpmem;
47 vpmem = devm_kzalloc(&vdev->dev, sizeof(*vpmem), GFP_KERNEL);
48 if (!vpmem) {
53 vpmem->vdev = vdev;
54 vdev->priv = vpmem;
55 err = init_vq(vpmem);
61 virtio_cread_le(vpmem->vdev, struct virtio_pmem_config,
62 start, &vpmem->start);
63 virtio_cread_le(vpmem->vdev, struct virtio_pmem_config,
64 size, &vpmem->size);
66 res.start = vpmem->start;
67 res.end = vpmem->start + vpmem->size - 1;
68 vpmem->nd_desc.provider_name = "virtio-pmem";
69 vpmem->nd_desc.module = THIS_MODULE;
71 vpmem->nvdimm_bus = nvdimm_bus_register(&vdev->dev,
72 &vpmem->nd_desc);
73 if (!vpmem->nvdimm_bus) {
79 dev_set_drvdata(&vdev->dev, vpmem->nvdimm_bus);
86 nd_region = nvdimm_pmem_region_create(vpmem->nvdimm_bus, &ndr_desc);
95 nvdimm_bus_unregister(vpmem->nvdimm_bus);