Lines Matching refs:devnode

59 	struct media_devnode *devnode = to_media_devnode(cd);  in media_devnode_release()  local
63 clear_bit(devnode->minor, media_devnode_nums); in media_devnode_release()
67 if (devnode->release) in media_devnode_release()
68 devnode->release(devnode); in media_devnode_release()
70 kfree(devnode); in media_devnode_release()
81 struct media_devnode *devnode = media_devnode_data(filp); in media_read() local
83 if (!devnode->fops->read) in media_read()
85 if (!media_devnode_is_registered(devnode)) in media_read()
87 return devnode->fops->read(filp, buf, sz, off); in media_read()
93 struct media_devnode *devnode = media_devnode_data(filp); in media_write() local
95 if (!devnode->fops->write) in media_write()
97 if (!media_devnode_is_registered(devnode)) in media_write()
99 return devnode->fops->write(filp, buf, sz, off); in media_write()
105 struct media_devnode *devnode = media_devnode_data(filp); in media_poll() local
107 if (!media_devnode_is_registered(devnode)) in media_poll()
109 if (!devnode->fops->poll) in media_poll()
111 return devnode->fops->poll(filp, poll); in media_poll()
119 struct media_devnode *devnode = media_devnode_data(filp); in __media_ioctl() local
124 if (!media_devnode_is_registered(devnode)) in __media_ioctl()
132 struct media_devnode *devnode = media_devnode_data(filp); in media_ioctl() local
134 return __media_ioctl(filp, cmd, arg, devnode->fops->ioctl); in media_ioctl()
142 struct media_devnode *devnode = media_devnode_data(filp); in media_compat_ioctl() local
144 return __media_ioctl(filp, cmd, arg, devnode->fops->compat_ioctl); in media_compat_ioctl()
152 struct media_devnode *devnode; in media_open() local
162 devnode = container_of(inode->i_cdev, struct media_devnode, cdev); in media_open()
165 if (!media_devnode_is_registered(devnode)) { in media_open()
170 get_device(&devnode->dev); in media_open()
173 filp->private_data = devnode; in media_open()
175 if (devnode->fops->open) { in media_open()
176 ret = devnode->fops->open(filp); in media_open()
178 put_device(&devnode->dev); in media_open()
190 struct media_devnode *devnode = media_devnode_data(filp); in media_release() local
192 if (devnode->fops->release) in media_release()
193 devnode->fops->release(filp); in media_release()
199 put_device(&devnode->dev); in media_release()
220 struct media_devnode *devnode, in media_devnode_register() argument
232 kfree(devnode); in media_devnode_register()
239 devnode->minor = minor; in media_devnode_register()
240 devnode->media_dev = mdev; in media_devnode_register()
243 devnode->dev.bus = &media_bus_type; in media_devnode_register()
244 devnode->dev.devt = MKDEV(MAJOR(media_dev_t), devnode->minor); in media_devnode_register()
245 devnode->dev.release = media_devnode_release; in media_devnode_register()
246 if (devnode->parent) in media_devnode_register()
247 devnode->dev.parent = devnode->parent; in media_devnode_register()
248 dev_set_name(&devnode->dev, "media%d", devnode->minor); in media_devnode_register()
249 device_initialize(&devnode->dev); in media_devnode_register()
252 cdev_init(&devnode->cdev, &media_devnode_fops); in media_devnode_register()
253 devnode->cdev.owner = owner; in media_devnode_register()
256 ret = cdev_device_add(&devnode->cdev, &devnode->dev); in media_devnode_register()
263 set_bit(MEDIA_FLAG_REGISTERED, &devnode->flags); in media_devnode_register()
269 clear_bit(devnode->minor, media_devnode_nums); in media_devnode_register()
270 devnode->media_dev = NULL; in media_devnode_register()
273 put_device(&devnode->dev); in media_devnode_register()
277 void media_devnode_unregister_prepare(struct media_devnode *devnode) in media_devnode_unregister_prepare() argument
280 if (!media_devnode_is_registered(devnode)) in media_devnode_unregister_prepare()
284 clear_bit(MEDIA_FLAG_REGISTERED, &devnode->flags); in media_devnode_unregister_prepare()
288 void media_devnode_unregister(struct media_devnode *devnode) in media_devnode_unregister() argument
292 cdev_device_del(&devnode->cdev, &devnode->dev); in media_devnode_unregister()
294 devnode->media_dev = NULL; in media_devnode_unregister()
295 put_device(&devnode->dev); in media_devnode_unregister()