Loading Documentation/media/conf_nitpick.py +1 −0 Original line number Diff line number Diff line Loading @@ -96,5 +96,6 @@ nitpick_ignore = [ ("c:type", "__user"), ("c:type", "usb_device"), ("c:type", "usb_interface"), ("c:type", "v4l2_std_id"), ("c:type", "video_system_t"), ] include/media/v4l2-ioctl.h +304 −206 Original line number Diff line number Diff line Loading @@ -287,7 +287,8 @@ struct v4l2_ioctl_ops { /* ioctl callbacks */ /* VIDIOC_QUERYCAP handler */ int (*vidioc_querycap)(struct file *file, void *fh, struct v4l2_capability *cap); int (*vidioc_querycap)(struct file *file, void *fh, struct v4l2_capability *cap); /* VIDIOC_ENUM_FMT handlers */ int (*vidioc_enum_fmt_vid_cap)(struct file *file, void *fh, Loading Loading @@ -384,15 +385,21 @@ struct v4l2_ioctl_ops { struct v4l2_format *f); /* Buffer handlers */ int (*vidioc_reqbufs) (struct file *file, void *fh, struct v4l2_requestbuffers *b); int (*vidioc_querybuf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_qbuf) (struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_reqbufs)(struct file *file, void *fh, struct v4l2_requestbuffers *b); int (*vidioc_querybuf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_qbuf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_expbuf)(struct file *file, void *fh, struct v4l2_exportbuffer *e); int (*vidioc_dqbuf) (struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_dqbuf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_create_bufs)(struct file *file, void *fh, struct v4l2_create_buffers *b); int (*vidioc_prepare_buf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_create_bufs)(struct file *file, void *fh, struct v4l2_create_buffers *b); int (*vidioc_prepare_buf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_overlay)(struct file *file, void *fh, unsigned int i); int (*vidioc_g_fbuf)(struct file *file, void *fh, Loading @@ -401,11 +408,15 @@ struct v4l2_ioctl_ops { const struct v4l2_framebuffer *a); /* Stream on/off */ int (*vidioc_streamon) (struct file *file, void *fh, enum v4l2_buf_type i); int (*vidioc_streamoff)(struct file *file, void *fh, enum v4l2_buf_type i); int (*vidioc_streamon)(struct file *file, void *fh, enum v4l2_buf_type i); int (*vidioc_streamoff)(struct file *file, void *fh, enum v4l2_buf_type i); /* Standard handling ENUMSTD is handled by videodev.c /* * Standard handling * * Note: ENUMSTD is handled by videodev.c */ int (*vidioc_g_std)(struct file *file, void *fh, v4l2_std_id *norm); int (*vidioc_s_std)(struct file *file, void *fh, v4l2_std_id norm); Loading Loading @@ -543,8 +554,10 @@ struct v4l2_ioctl_ops { struct v4l2_enum_dv_timings *timings); int (*vidioc_dv_timings_cap)(struct file *file, void *fh, struct v4l2_dv_timings_cap *cap); int (*vidioc_g_edid) (struct file *file, void *fh, struct v4l2_edid *edid); int (*vidioc_s_edid) (struct file *file, void *fh, struct v4l2_edid *edid); int (*vidioc_g_edid)(struct file *file, void *fh, struct v4l2_edid *edid); int (*vidioc_s_edid)(struct file *file, void *fh, struct v4l2_edid *edid); int (*vidioc_subscribe_event)(struct v4l2_fh *fh, const struct v4l2_event_subscription *sub); Loading Loading @@ -573,38 +586,123 @@ struct v4l2_ioctl_ops { #define V4L2_DEV_DEBUG_POLL 0x10 /* Video standard functions */ extern const char *v4l2_norm_to_name(v4l2_std_id id); extern void v4l2_video_std_frame_period(int id, struct v4l2_fract *frameperiod); extern int v4l2_video_std_construct(struct v4l2_standard *vs, /** * v4l2_norm_to_name - Ancillary routine to analog TV standard name from its ID. * * @id: analog TV standard ID. * * Return: returns a string with the name of the analog TV standard. * If the standard is not found or if @id points to multiple standard, * it returns "Unknown". */ const char *v4l2_norm_to_name(v4l2_std_id id); /** * v4l2_video_std_frame_period - Ancillary routine that fills a * struct &v4l2_fract pointer with the default framerate fraction. * * @id: analog TV sdandard ID. * @frameperiod: struct &v4l2_fract pointer to be filled * */ void v4l2_video_std_frame_period(int id, struct v4l2_fract *frameperiod); /** * v4l2_video_std_construct - Ancillary routine that fills in the fields of * a &v4l2_standard structure according to the @id parameter. * * @vs: struct &v4l2_standard pointer to be filled * @id: analog TV sdandard ID. * @name: name of the standard to be used * * .. note:: * * This ancillary routine is obsolete. Shouldn't be used on newer drivers. */ int v4l2_video_std_construct(struct v4l2_standard *vs, int id, const char *name); /* Prints the ioctl in a human-readable format. If prefix != NULL, then do printk(KERN_DEBUG "%s: ", prefix) first. */ extern void v4l_printk_ioctl(const char *prefix, unsigned int cmd); /* Internal use only: get the mutex (if any) that we need to lock for the given command. */ /** * v4l_printk_ioctl - Ancillary routine that prints the ioctl in a * human-readable format. * * @prefix: prefix to be added at the ioctl prints. * @cmd: ioctl name * * .. note:: * * If prefix != %NULL, then it will issue a * ``printk(KERN_DEBUG "%s: ", prefix)`` first. */ void v4l_printk_ioctl(const char *prefix, unsigned int cmd); struct video_device; extern struct mutex *v4l2_ioctl_get_lock(struct video_device *vdev, unsigned cmd); /** * v4l2_ioctl_get_lock - get the mutex (if any) that it is need to lock for * a given command. * * @vdev: Pointer to struct &video_device. * @cmd: Ioctl name. * * .. note:: Internal use only. Should not be used outside V4L2 core. */ struct mutex *v4l2_ioctl_get_lock(struct video_device *vdev, unsigned int cmd); /* names for fancy debug output */ extern const char *v4l2_field_names[]; extern const char *v4l2_type_names[]; #ifdef CONFIG_COMPAT /* 32 Bits compatibility layer for 64 bits processors */ extern long v4l2_compat_ioctl32(struct file *file, unsigned int cmd, /** * v4l2_compat_ioctl32 -32 Bits compatibility layer for 64 bits processors * * @file: Pointer to struct &file. * @cmd: Ioctl name. * @arg: Ioctl argument. */ long int v4l2_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg); #endif typedef long (*v4l2_kioctl)(struct file *file, unsigned int cmd, void *arg); /** * typedef v4l2_kioctl - Typedef used to pass an ioctl handler. * * @file: Pointer to struct &file. * @cmd: Ioctl name. * @arg: Ioctl argument. */ typedef long (*v4l2_kioctl)(struct file *file, unsigned int cmd, void *arg); /* Include support for obsoleted stuff */ extern long video_usercopy(struct file *file, unsigned int cmd, unsigned long arg, v4l2_kioctl func); /** * video_usercopy - copies data from/to userspace memory when an ioctl is * issued. * * @file: Pointer to struct &file. * @cmd: Ioctl name. * @arg: Ioctl argument. * @func: function that will handle the ioctl * * .. note:: * * This routine should be used only inside the V4L2 core. */ long int video_usercopy(struct file *file, unsigned int cmd, unsigned long int arg, v4l2_kioctl func); /* Standard handlers for V4L ioctl's */ extern long video_ioctl2(struct file *file, unsigned int cmd, unsigned long arg); /** * video_ioctl2 - Handles a V4L2 ioctl. * * @file: Pointer to struct &file. * @cmd: Ioctl name. * @arg: Ioctl argument. * * Method used to hancle an ioctl. Should be used to fill the * &v4l2_ioctl_ops.unlocked_ioctl on all V4L2 drivers. */ long int video_ioctl2(struct file *file, unsigned int cmd, unsigned long int arg); #endif /* _V4L2_IOCTL_H */ Loading
Documentation/media/conf_nitpick.py +1 −0 Original line number Diff line number Diff line Loading @@ -96,5 +96,6 @@ nitpick_ignore = [ ("c:type", "__user"), ("c:type", "usb_device"), ("c:type", "usb_interface"), ("c:type", "v4l2_std_id"), ("c:type", "video_system_t"), ]
include/media/v4l2-ioctl.h +304 −206 Original line number Diff line number Diff line Loading @@ -287,7 +287,8 @@ struct v4l2_ioctl_ops { /* ioctl callbacks */ /* VIDIOC_QUERYCAP handler */ int (*vidioc_querycap)(struct file *file, void *fh, struct v4l2_capability *cap); int (*vidioc_querycap)(struct file *file, void *fh, struct v4l2_capability *cap); /* VIDIOC_ENUM_FMT handlers */ int (*vidioc_enum_fmt_vid_cap)(struct file *file, void *fh, Loading Loading @@ -384,15 +385,21 @@ struct v4l2_ioctl_ops { struct v4l2_format *f); /* Buffer handlers */ int (*vidioc_reqbufs) (struct file *file, void *fh, struct v4l2_requestbuffers *b); int (*vidioc_querybuf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_qbuf) (struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_reqbufs)(struct file *file, void *fh, struct v4l2_requestbuffers *b); int (*vidioc_querybuf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_qbuf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_expbuf)(struct file *file, void *fh, struct v4l2_exportbuffer *e); int (*vidioc_dqbuf) (struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_dqbuf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_create_bufs)(struct file *file, void *fh, struct v4l2_create_buffers *b); int (*vidioc_prepare_buf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_create_bufs)(struct file *file, void *fh, struct v4l2_create_buffers *b); int (*vidioc_prepare_buf)(struct file *file, void *fh, struct v4l2_buffer *b); int (*vidioc_overlay)(struct file *file, void *fh, unsigned int i); int (*vidioc_g_fbuf)(struct file *file, void *fh, Loading @@ -401,11 +408,15 @@ struct v4l2_ioctl_ops { const struct v4l2_framebuffer *a); /* Stream on/off */ int (*vidioc_streamon) (struct file *file, void *fh, enum v4l2_buf_type i); int (*vidioc_streamoff)(struct file *file, void *fh, enum v4l2_buf_type i); int (*vidioc_streamon)(struct file *file, void *fh, enum v4l2_buf_type i); int (*vidioc_streamoff)(struct file *file, void *fh, enum v4l2_buf_type i); /* Standard handling ENUMSTD is handled by videodev.c /* * Standard handling * * Note: ENUMSTD is handled by videodev.c */ int (*vidioc_g_std)(struct file *file, void *fh, v4l2_std_id *norm); int (*vidioc_s_std)(struct file *file, void *fh, v4l2_std_id norm); Loading Loading @@ -543,8 +554,10 @@ struct v4l2_ioctl_ops { struct v4l2_enum_dv_timings *timings); int (*vidioc_dv_timings_cap)(struct file *file, void *fh, struct v4l2_dv_timings_cap *cap); int (*vidioc_g_edid) (struct file *file, void *fh, struct v4l2_edid *edid); int (*vidioc_s_edid) (struct file *file, void *fh, struct v4l2_edid *edid); int (*vidioc_g_edid)(struct file *file, void *fh, struct v4l2_edid *edid); int (*vidioc_s_edid)(struct file *file, void *fh, struct v4l2_edid *edid); int (*vidioc_subscribe_event)(struct v4l2_fh *fh, const struct v4l2_event_subscription *sub); Loading Loading @@ -573,38 +586,123 @@ struct v4l2_ioctl_ops { #define V4L2_DEV_DEBUG_POLL 0x10 /* Video standard functions */ extern const char *v4l2_norm_to_name(v4l2_std_id id); extern void v4l2_video_std_frame_period(int id, struct v4l2_fract *frameperiod); extern int v4l2_video_std_construct(struct v4l2_standard *vs, /** * v4l2_norm_to_name - Ancillary routine to analog TV standard name from its ID. * * @id: analog TV standard ID. * * Return: returns a string with the name of the analog TV standard. * If the standard is not found or if @id points to multiple standard, * it returns "Unknown". */ const char *v4l2_norm_to_name(v4l2_std_id id); /** * v4l2_video_std_frame_period - Ancillary routine that fills a * struct &v4l2_fract pointer with the default framerate fraction. * * @id: analog TV sdandard ID. * @frameperiod: struct &v4l2_fract pointer to be filled * */ void v4l2_video_std_frame_period(int id, struct v4l2_fract *frameperiod); /** * v4l2_video_std_construct - Ancillary routine that fills in the fields of * a &v4l2_standard structure according to the @id parameter. * * @vs: struct &v4l2_standard pointer to be filled * @id: analog TV sdandard ID. * @name: name of the standard to be used * * .. note:: * * This ancillary routine is obsolete. Shouldn't be used on newer drivers. */ int v4l2_video_std_construct(struct v4l2_standard *vs, int id, const char *name); /* Prints the ioctl in a human-readable format. If prefix != NULL, then do printk(KERN_DEBUG "%s: ", prefix) first. */ extern void v4l_printk_ioctl(const char *prefix, unsigned int cmd); /* Internal use only: get the mutex (if any) that we need to lock for the given command. */ /** * v4l_printk_ioctl - Ancillary routine that prints the ioctl in a * human-readable format. * * @prefix: prefix to be added at the ioctl prints. * @cmd: ioctl name * * .. note:: * * If prefix != %NULL, then it will issue a * ``printk(KERN_DEBUG "%s: ", prefix)`` first. */ void v4l_printk_ioctl(const char *prefix, unsigned int cmd); struct video_device; extern struct mutex *v4l2_ioctl_get_lock(struct video_device *vdev, unsigned cmd); /** * v4l2_ioctl_get_lock - get the mutex (if any) that it is need to lock for * a given command. * * @vdev: Pointer to struct &video_device. * @cmd: Ioctl name. * * .. note:: Internal use only. Should not be used outside V4L2 core. */ struct mutex *v4l2_ioctl_get_lock(struct video_device *vdev, unsigned int cmd); /* names for fancy debug output */ extern const char *v4l2_field_names[]; extern const char *v4l2_type_names[]; #ifdef CONFIG_COMPAT /* 32 Bits compatibility layer for 64 bits processors */ extern long v4l2_compat_ioctl32(struct file *file, unsigned int cmd, /** * v4l2_compat_ioctl32 -32 Bits compatibility layer for 64 bits processors * * @file: Pointer to struct &file. * @cmd: Ioctl name. * @arg: Ioctl argument. */ long int v4l2_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg); #endif typedef long (*v4l2_kioctl)(struct file *file, unsigned int cmd, void *arg); /** * typedef v4l2_kioctl - Typedef used to pass an ioctl handler. * * @file: Pointer to struct &file. * @cmd: Ioctl name. * @arg: Ioctl argument. */ typedef long (*v4l2_kioctl)(struct file *file, unsigned int cmd, void *arg); /* Include support for obsoleted stuff */ extern long video_usercopy(struct file *file, unsigned int cmd, unsigned long arg, v4l2_kioctl func); /** * video_usercopy - copies data from/to userspace memory when an ioctl is * issued. * * @file: Pointer to struct &file. * @cmd: Ioctl name. * @arg: Ioctl argument. * @func: function that will handle the ioctl * * .. note:: * * This routine should be used only inside the V4L2 core. */ long int video_usercopy(struct file *file, unsigned int cmd, unsigned long int arg, v4l2_kioctl func); /* Standard handlers for V4L ioctl's */ extern long video_ioctl2(struct file *file, unsigned int cmd, unsigned long arg); /** * video_ioctl2 - Handles a V4L2 ioctl. * * @file: Pointer to struct &file. * @cmd: Ioctl name. * @arg: Ioctl argument. * * Method used to hancle an ioctl. Should be used to fill the * &v4l2_ioctl_ops.unlocked_ioctl on all V4L2 drivers. */ long int video_ioctl2(struct file *file, unsigned int cmd, unsigned long int arg); #endif /* _V4L2_IOCTL_H */