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()
249 cxlmd->depth = -1; in cxl_memdev_alloc()
251 dev = &cxlmd->dev; in cxl_memdev_alloc()
256 dev->devt = MKDEV(cxl_mem_major, cxlmd->id); in cxl_memdev_alloc()
259 INIT_WORK(&cxlmd->detach_work, detach_memdev); in cxl_memdev_alloc()
261 cdev = &cxlmd->cdev; in cxl_memdev_alloc()
263 return cxlmd; in cxl_memdev_alloc()
266 kfree(cxlmd); in cxl_memdev_alloc()
270 static long __cxl_memdev_ioctl(struct cxl_memdev *cxlmd, unsigned int cmd, in __cxl_memdev_ioctl() argument
275 return cxl_query_cmd(cxlmd, (void __user *)arg); in __cxl_memdev_ioctl()
277 return cxl_send_cmd(cxlmd, (void __user *)arg); in __cxl_memdev_ioctl()
286 struct cxl_memdev *cxlmd = file->private_data; in cxl_memdev_ioctl() local
290 if (cxlmd->cxlds) in cxl_memdev_ioctl()
291 rc = __cxl_memdev_ioctl(cxlmd, cmd, arg); in cxl_memdev_ioctl()
299 struct cxl_memdev *cxlmd = in cxl_memdev_open() local
300 container_of(inode->i_cdev, typeof(*cxlmd), cdev); in cxl_memdev_open()
302 get_device(&cxlmd->dev); in cxl_memdev_open()
303 file->private_data = cxlmd; in cxl_memdev_open()
310 struct cxl_memdev *cxlmd = in cxl_memdev_release_file() local
311 container_of(inode->i_cdev, typeof(*cxlmd), cdev); in cxl_memdev_release_file()
313 put_device(&cxlmd->dev); in cxl_memdev_release_file()
329 struct cxl_memdev *cxlmd; in devm_cxl_add_memdev() local
334 cxlmd = cxl_memdev_alloc(cxlds, &cxl_memdev_fops); in devm_cxl_add_memdev()
335 if (IS_ERR(cxlmd)) in devm_cxl_add_memdev()
336 return cxlmd; in devm_cxl_add_memdev()
338 dev = &cxlmd->dev; in devm_cxl_add_memdev()
339 rc = dev_set_name(dev, "mem%d", cxlmd->id); in devm_cxl_add_memdev()
347 cxlmd->cxlds = cxlds; in devm_cxl_add_memdev()
348 cxlds->cxlmd = cxlmd; in devm_cxl_add_memdev()
350 cdev = &cxlmd->cdev; in devm_cxl_add_memdev()
355 rc = devm_add_action_or_reset(cxlds->dev, cxl_memdev_unregister, cxlmd); in devm_cxl_add_memdev()
358 return cxlmd; in devm_cxl_add_memdev()