Lines Matching refs:ctrldev
339 static int rpmsg_eptdev_create(struct rpmsg_ctrldev *ctrldev, in rpmsg_eptdev_create() argument
342 struct rpmsg_device *rpdev = ctrldev->rpdev; in rpmsg_eptdev_create()
362 dev->parent = &ctrldev->dev; in rpmsg_eptdev_create()
408 struct rpmsg_ctrldev *ctrldev = cdev_to_ctrldev(inode->i_cdev); in rpmsg_ctrldev_open() local
410 get_device(&ctrldev->dev); in rpmsg_ctrldev_open()
411 filp->private_data = ctrldev; in rpmsg_ctrldev_open()
418 struct rpmsg_ctrldev *ctrldev = cdev_to_ctrldev(inode->i_cdev); in rpmsg_ctrldev_release() local
420 put_device(&ctrldev->dev); in rpmsg_ctrldev_release()
428 struct rpmsg_ctrldev *ctrldev = fp->private_data; in rpmsg_ctrldev_ioctl() local
444 return rpmsg_eptdev_create(ctrldev, chinfo); in rpmsg_ctrldev_ioctl()
457 struct rpmsg_ctrldev *ctrldev = dev_to_ctrldev(dev); in rpmsg_ctrldev_release_device() local
461 cdev_del(&ctrldev->cdev); in rpmsg_ctrldev_release_device()
462 kfree(ctrldev); in rpmsg_ctrldev_release_device()
467 struct rpmsg_ctrldev *ctrldev; in rpmsg_chrdev_probe() local
471 ctrldev = kzalloc(sizeof(*ctrldev), GFP_KERNEL); in rpmsg_chrdev_probe()
472 if (!ctrldev) in rpmsg_chrdev_probe()
475 ctrldev->rpdev = rpdev; in rpmsg_chrdev_probe()
477 dev = &ctrldev->dev; in rpmsg_chrdev_probe()
482 cdev_init(&ctrldev->cdev, &rpmsg_ctrldev_fops); in rpmsg_chrdev_probe()
483 ctrldev->cdev.owner = THIS_MODULE; in rpmsg_chrdev_probe()
494 dev_set_name(&ctrldev->dev, "rpmsg_ctrl%d", ret); in rpmsg_chrdev_probe()
496 ret = cdev_add(&ctrldev->cdev, dev->devt, 1); in rpmsg_chrdev_probe()
509 dev_set_drvdata(&rpdev->dev, ctrldev); in rpmsg_chrdev_probe()
519 kfree(ctrldev); in rpmsg_chrdev_probe()
526 struct rpmsg_ctrldev *ctrldev = dev_get_drvdata(&rpdev->dev); in rpmsg_chrdev_remove() local
530 ret = device_for_each_child(&ctrldev->dev, NULL, rpmsg_eptdev_destroy); in rpmsg_chrdev_remove()
534 device_del(&ctrldev->dev); in rpmsg_chrdev_remove()
535 put_device(&ctrldev->dev); in rpmsg_chrdev_remove()