Lines Matching refs:cxlmd

24 	struct cxl_memdev *cxlmd = to_cxl_memdev(dev);  in cxl_memdev_release()  local
26 ida_free(&cxl_memdev_ida, cxlmd->id); in cxl_memdev_release()
27 kfree(cxlmd); in cxl_memdev_release()
39 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in firmware_version_show() local
40 struct cxl_dev_state *cxlds = cxlmd->cxlds; in firmware_version_show()
49 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in payload_max_show() local
50 struct cxl_dev_state *cxlds = cxlmd->cxlds; in payload_max_show()
59 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in label_storage_size_show() local
60 struct cxl_dev_state *cxlds = cxlmd->cxlds; in label_storage_size_show()
69 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in ram_size_show() local
70 struct cxl_dev_state *cxlds = cxlmd->cxlds; in ram_size_show()
82 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in pmem_size_show() local
83 struct cxl_dev_state *cxlds = cxlmd->cxlds; in pmem_size_show()
95 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in serial_show() local
96 struct cxl_dev_state *cxlds = cxlmd->cxlds; in serial_show()
205 struct cxl_memdev *cxlmd = to_cxl_memdev(dev); in cxl_memdev_shutdown() local
208 cxlmd->cxlds = NULL; in cxl_memdev_shutdown()
214 struct cxl_memdev *cxlmd = _cxlmd; in cxl_memdev_unregister() local
215 struct device *dev = &cxlmd->dev; in cxl_memdev_unregister()
218 cdev_device_del(&cxlmd->cdev, dev); in cxl_memdev_unregister()
224 struct cxl_memdev *cxlmd; in detach_memdev() local
226 cxlmd = container_of(work, typeof(*cxlmd), detach_work); in detach_memdev()
227 device_release_driver(&cxlmd->dev); in detach_memdev()
228 put_device(&cxlmd->dev); in detach_memdev()
236 struct cxl_memdev *cxlmd; in cxl_memdev_alloc() local
241 cxlmd = kzalloc(sizeof(*cxlmd), GFP_KERNEL); in cxl_memdev_alloc()
242 if (!cxlmd) in cxl_memdev_alloc()
248 cxlmd->id = rc; in cxl_memdev_alloc()
250 dev = &cxlmd->dev; in cxl_memdev_alloc()
255 dev->devt = MKDEV(cxl_mem_major, cxlmd->id); in cxl_memdev_alloc()
258 INIT_WORK(&cxlmd->detach_work, detach_memdev); in cxl_memdev_alloc()
260 cdev = &cxlmd->cdev; in cxl_memdev_alloc()
262 return cxlmd; in cxl_memdev_alloc()
265 kfree(cxlmd); in cxl_memdev_alloc()
269 static long __cxl_memdev_ioctl(struct cxl_memdev *cxlmd, unsigned int cmd, in __cxl_memdev_ioctl() argument
274 return cxl_query_cmd(cxlmd, (void __user *)arg); in __cxl_memdev_ioctl()
276 return cxl_send_cmd(cxlmd, (void __user *)arg); in __cxl_memdev_ioctl()
285 struct cxl_memdev *cxlmd = file->private_data; in cxl_memdev_ioctl() local
289 if (cxlmd->cxlds) in cxl_memdev_ioctl()
290 rc = __cxl_memdev_ioctl(cxlmd, cmd, arg); in cxl_memdev_ioctl()
298 struct cxl_memdev *cxlmd = in cxl_memdev_open() local
299 container_of(inode->i_cdev, typeof(*cxlmd), cdev); in cxl_memdev_open()
301 get_device(&cxlmd->dev); in cxl_memdev_open()
302 file->private_data = cxlmd; in cxl_memdev_open()
309 struct cxl_memdev *cxlmd = in cxl_memdev_release_file() local
310 container_of(inode->i_cdev, typeof(*cxlmd), cdev); in cxl_memdev_release_file()
312 put_device(&cxlmd->dev); in cxl_memdev_release_file()
328 struct cxl_memdev *cxlmd; in devm_cxl_add_memdev() local
333 cxlmd = cxl_memdev_alloc(cxlds, &cxl_memdev_fops); in devm_cxl_add_memdev()
334 if (IS_ERR(cxlmd)) in devm_cxl_add_memdev()
335 return cxlmd; in devm_cxl_add_memdev()
337 dev = &cxlmd->dev; in devm_cxl_add_memdev()
338 rc = dev_set_name(dev, "mem%d", cxlmd->id); in devm_cxl_add_memdev()
346 cxlmd->cxlds = cxlds; in devm_cxl_add_memdev()
348 cdev = &cxlmd->cdev; in devm_cxl_add_memdev()
353 rc = devm_add_action_or_reset(cxlds->dev, cxl_memdev_unregister, cxlmd); in devm_cxl_add_memdev()
356 return cxlmd; in devm_cxl_add_memdev()