|
@@ -40,6 +40,20 @@
|
|
|
*/
|
|
|
#define MEDIA_FLAG_REGISTERED 0
|
|
|
|
|
|
+/**
|
|
|
+ * struct media_file_operations - Media device file operations
|
|
|
+ *
|
|
|
+ * @owner: should be filled with %THIS_MODULE
|
|
|
+ * @read: pointer to the function that implements read() syscall
|
|
|
+ * @write: pointer to the function that implements write() syscall
|
|
|
+ * @poll: pointer to the function that implements poll() syscall
|
|
|
+ * @ioctl: pointer to the function that implements ioctl() syscall
|
|
|
+ * @compat_ioctl: pointer to the function that will handle 32 bits userspace
|
|
|
+ * calls to the the ioctl() syscall on a Kernel compiled with 64 bits.
|
|
|
+ * @open: pointer to the function that implements open() syscall
|
|
|
+ * @release: pointer to the function that will release the resources allocated
|
|
|
+ * by the @open function.
|
|
|
+ */
|
|
|
struct media_file_operations {
|
|
|
struct module *owner;
|
|
|
ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
|
|
@@ -53,7 +67,7 @@ struct media_file_operations {
|
|
|
|
|
|
/**
|
|
|
* struct media_devnode - Media device node
|
|
|
- * @fops: pointer to struct media_file_operations with media device ops
|
|
|
+ * @fops: pointer to struct &media_file_operations with media device ops
|
|
|
* @dev: struct device pointer for the media controller device
|
|
|
* @cdev: struct cdev pointer character device
|
|
|
* @parent: parent device
|
|
@@ -117,11 +131,22 @@ int __must_check media_devnode_register(struct media_devnode *mdev,
|
|
|
*/
|
|
|
void media_devnode_unregister(struct media_devnode *mdev);
|
|
|
|
|
|
+/**
|
|
|
+ * media_devnode_data - returns a pointer to the &media_devnode
|
|
|
+ *
|
|
|
+ * @filp: pointer to struct &file
|
|
|
+ */
|
|
|
static inline struct media_devnode *media_devnode_data(struct file *filp)
|
|
|
{
|
|
|
return filp->private_data;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * media_devnode_is_registered - returns true if &media_devnode is registered;
|
|
|
+ * false otherwise.
|
|
|
+ *
|
|
|
+ * @mdev: pointer to struct &media_devnode.
|
|
|
+ */
|
|
|
static inline int media_devnode_is_registered(struct media_devnode *mdev)
|
|
|
{
|
|
|
return test_bit(MEDIA_FLAG_REGISTERED, &mdev->flags);
|