Lines Matching refs:devnode

34 #include <media/media-devnode.h>
51 struct media_devnode *devnode = to_media_devnode(cd);
55 clear_bit(devnode->minor, media_devnode_nums);
59 if (devnode->release)
60 devnode->release(devnode);
62 kfree(devnode);
73 struct media_devnode *devnode = media_devnode_data(filp);
75 if (!devnode->fops->read)
77 if (!media_devnode_is_registered(devnode))
79 return devnode->fops->read(filp, buf, sz, off);
85 struct media_devnode *devnode = media_devnode_data(filp);
87 if (!devnode->fops->write)
89 if (!media_devnode_is_registered(devnode))
91 return devnode->fops->write(filp, buf, sz, off);
97 struct media_devnode *devnode = media_devnode_data(filp);
99 if (!media_devnode_is_registered(devnode))
101 if (!devnode->fops->poll)
103 return devnode->fops->poll(filp, poll);
111 struct media_devnode *devnode = media_devnode_data(filp);
116 if (!media_devnode_is_registered(devnode))
124 struct media_devnode *devnode = media_devnode_data(filp);
126 return __media_ioctl(filp, cmd, arg, devnode->fops->ioctl);
134 struct media_devnode *devnode = media_devnode_data(filp);
136 return __media_ioctl(filp, cmd, arg, devnode->fops->compat_ioctl);
144 struct media_devnode *devnode;
154 devnode = container_of(inode->i_cdev, struct media_devnode, cdev);
157 if (!media_devnode_is_registered(devnode)) {
162 get_device(&devnode->dev);
165 filp->private_data = devnode;
167 if (devnode->fops->open) {
168 ret = devnode->fops->open(filp);
170 put_device(&devnode->dev);
182 struct media_devnode *devnode = media_devnode_data(filp);
184 if (devnode->fops->release)
185 devnode->fops->release(filp);
191 put_device(&devnode->dev);
211 struct media_devnode *devnode,
223 kfree(devnode);
230 devnode->minor = minor;
231 devnode->media_dev = mdev;
234 devnode->dev.bus = &media_bus_type;
235 devnode->dev.devt = MKDEV(MAJOR(media_dev_t), devnode->minor);
236 devnode->dev.release = media_devnode_release;
237 if (devnode->parent)
238 devnode->dev.parent = devnode->parent;
239 dev_set_name(&devnode->dev, "media%d", devnode->minor);
240 device_initialize(&devnode->dev);
243 cdev_init(&devnode->cdev, &media_devnode_fops);
244 devnode->cdev.owner = owner;
245 kobject_set_name(&devnode->cdev.kobj, "media%d", devnode->minor);
248 ret = cdev_device_add(&devnode->cdev, &devnode->dev);
255 set_bit(MEDIA_FLAG_REGISTERED, &devnode->flags);
261 clear_bit(devnode->minor, media_devnode_nums);
262 devnode->media_dev = NULL;
265 put_device(&devnode->dev);
269 void media_devnode_unregister_prepare(struct media_devnode *devnode)
271 /* Check if devnode was ever registered at all */
272 if (!media_devnode_is_registered(devnode))
276 clear_bit(MEDIA_FLAG_REGISTERED, &devnode->flags);
280 void media_devnode_unregister(struct media_devnode *devnode)
284 cdev_device_del(&devnode->cdev, &devnode->dev);
285 devnode->media_dev = NULL;
288 put_device(&devnode->dev);