|
@@ -86,8 +86,35 @@ struct media_devnode {
|
|
|
/* dev to media_devnode */
|
|
|
#define to_media_devnode(cd) container_of(cd, struct media_devnode, dev)
|
|
|
|
|
|
+/**
|
|
|
+ * media_devnode_register - register a media device node
|
|
|
+ *
|
|
|
+ * @mdev: media device node structure we want to register
|
|
|
+ * @owner: should be filled with %THIS_MODULE
|
|
|
+ *
|
|
|
+ * The registration code assigns minor numbers and registers the new device node
|
|
|
+ * with the kernel. An error is returned if no free minor number can be found,
|
|
|
+ * or if the registration of the device node fails.
|
|
|
+ *
|
|
|
+ * Zero is returned on success.
|
|
|
+ *
|
|
|
+ * Note that if the media_devnode_register call fails, the release() callback of
|
|
|
+ * the media_devnode structure is *not* called, so the caller is responsible for
|
|
|
+ * freeing any data.
|
|
|
+ */
|
|
|
int __must_check media_devnode_register(struct media_devnode *mdev,
|
|
|
struct module *owner);
|
|
|
+
|
|
|
+/**
|
|
|
+ * media_devnode_unregister - unregister a media device node
|
|
|
+ * @mdev: the device node to unregister
|
|
|
+ *
|
|
|
+ * This unregisters the passed device. Future open calls will be met with
|
|
|
+ * errors.
|
|
|
+ *
|
|
|
+ * This function can safely be called if the device node has never been
|
|
|
+ * registered or has already been unregistered.
|
|
|
+ */
|
|
|
void media_devnode_unregister(struct media_devnode *mdev);
|
|
|
|
|
|
static inline struct media_devnode *media_devnode_data(struct file *filp)
|