Lines Matching defs:ctrldev

57 	struct rpmsg_ctrldev *ctrldev = cdev_to_ctrldev(inode->i_cdev);
59 get_device(&ctrldev->dev);
60 filp->private_data = ctrldev;
67 struct rpmsg_ctrldev *ctrldev = cdev_to_ctrldev(inode->i_cdev);
69 put_device(&ctrldev->dev);
77 struct rpmsg_ctrldev *ctrldev = fp->private_data;
92 mutex_lock(&ctrldev->ctrl_lock);
95 ret = rpmsg_chrdev_eptdev_create(ctrldev->rpdev, &ctrldev->dev, chinfo);
99 rpdev = rpmsg_create_channel(ctrldev->rpdev, &chinfo);
101 dev_err(&ctrldev->dev, "failed to create %s channel\n", chinfo.name);
107 ret = rpmsg_release_channel(ctrldev->rpdev, &chinfo);
109 dev_err(&ctrldev->dev, "failed to release %s channel (%d)\n",
116 mutex_unlock(&ctrldev->ctrl_lock);
131 struct rpmsg_ctrldev *ctrldev = dev_to_ctrldev(dev);
135 kfree(ctrldev);
140 struct rpmsg_ctrldev *ctrldev;
144 ctrldev = kzalloc(sizeof(*ctrldev), GFP_KERNEL);
145 if (!ctrldev)
148 ctrldev->rpdev = rpdev;
150 dev = &ctrldev->dev;
155 mutex_init(&ctrldev->ctrl_lock);
156 cdev_init(&ctrldev->cdev, &rpmsg_ctrldev_fops);
157 ctrldev->cdev.owner = THIS_MODULE;
168 dev_set_name(&ctrldev->dev, "rpmsg_ctrl%d", ret);
170 ret = cdev_device_add(&ctrldev->cdev, &ctrldev->dev);
177 dev_set_drvdata(&rpdev->dev, ctrldev);
187 kfree(ctrldev);
194 struct rpmsg_ctrldev *ctrldev = dev_get_drvdata(&rpdev->dev);
197 mutex_lock(&ctrldev->ctrl_lock);
199 ret = device_for_each_child(&ctrldev->dev, NULL, rpmsg_chrdev_eptdev_destroy);
202 mutex_unlock(&ctrldev->ctrl_lock);
204 cdev_device_del(&ctrldev->cdev, &ctrldev->dev);
205 put_device(&ctrldev->dev);