[SCSI] scsi_dh: Update EMC handler
[safe/jmp/linux-2.6] / include / media / v4l2-dev.h
index 33f01ae..33f379b 100644 (file)
@@ -40,9 +40,9 @@
 #define VFL_TYPE_VTX           3
 
 /*  Video standard functions  */
-extern char *v4l2_norm_to_name(v4l2_std_id id);
+extern const char *v4l2_norm_to_name(v4l2_std_id id);
 extern int v4l2_video_std_construct(struct v4l2_standard *vs,
-                                   int id, char *name);
+                                   int id, const char *name);
 /* Prints the ioctl in a human-readable format */
 extern void v4l_printk_ioctl(unsigned int cmd);
 
@@ -59,8 +59,8 @@ enum v4l2_priority v4l2_prio_max(struct v4l2_prio_state *global);
 int v4l2_prio_check(struct v4l2_prio_state *global, enum v4l2_priority *local);
 
 /* names for fancy debug output */
-extern char *v4l2_field_names[];
-extern char *v4l2_type_names[];
+extern const char *v4l2_field_names[];
+extern const char *v4l2_type_names[];
 
 /*  Compatibility layer interface  --  v4l1-compat module */
 typedef int (*v4l2_kioctl)(struct inode *inode, struct file *file,
@@ -96,6 +96,8 @@ struct video_device
        int type;       /* v4l1 */
        int type2;      /* v4l2 */
        int minor;
+       /* attribute to diferentiate multiple indexs on one physical device */
+       int index;
 
        int debug;      /* Activates debug level*/
 
@@ -118,74 +120,76 @@ struct video_device
                                    enum v4l2_priority p);
 
        /* VIDIOC_ENUM_FMT handlers */
-       int (*vidioc_enum_fmt_cap)         (struct file *file, void *fh,
+       int (*vidioc_enum_fmt_vid_cap)     (struct file *file, void *fh,
                                            struct v4l2_fmtdesc *f);
-       int (*vidioc_enum_fmt_overlay)     (struct file *file, void *fh,
+       int (*vidioc_enum_fmt_vid_overlay) (struct file *file, void *fh,
                                            struct v4l2_fmtdesc *f);
-       int (*vidioc_enum_fmt_vbi)         (struct file *file, void *fh,
+       int (*vidioc_enum_fmt_vid_out)     (struct file *file, void *fh,
                                            struct v4l2_fmtdesc *f);
-       int (*vidioc_enum_fmt_vbi_capture) (struct file *file, void *fh,
-                                           struct v4l2_fmtdesc *f);
-       int (*vidioc_enum_fmt_video_output)(struct file *file, void *fh,
-                                           struct v4l2_fmtdesc *f);
-       int (*vidioc_enum_fmt_output_overlay) (struct file *file, void *fh,
-                                           struct v4l2_fmtdesc *f);
-       int (*vidioc_enum_fmt_vbi_output)  (struct file *file, void *fh,
+#if 1
+       /* deprecated, will be removed in 2.6.28 */
+       int (*vidioc_enum_fmt_vbi_cap)     (struct file *file, void *fh,
                                            struct v4l2_fmtdesc *f);
+#endif
        int (*vidioc_enum_fmt_type_private)(struct file *file, void *fh,
                                            struct v4l2_fmtdesc *f);
 
        /* VIDIOC_G_FMT handlers */
-       int (*vidioc_g_fmt_cap)        (struct file *file, void *fh,
+       int (*vidioc_g_fmt_vid_cap)    (struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_g_fmt_overlay)    (struct file *file, void *fh,
+       int (*vidioc_g_fmt_vid_overlay)(struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_g_fmt_vbi)        (struct file *file, void *fh,
+       int (*vidioc_g_fmt_vid_out)    (struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_g_fmt_vbi_output) (struct file *file, void *fh,
+       int (*vidioc_g_fmt_vid_out_overlay)(struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_g_fmt_vbi_capture)(struct file *file, void *fh,
+       int (*vidioc_g_fmt_vbi_cap)    (struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_g_fmt_video_output)(struct file *file, void *fh,
+       int (*vidioc_g_fmt_vbi_out)    (struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_g_fmt_output_overlay) (struct file *file, void *fh,
+       int (*vidioc_g_fmt_sliced_vbi_cap)(struct file *file, void *fh,
+                                       struct v4l2_format *f);
+       int (*vidioc_g_fmt_sliced_vbi_out)(struct file *file, void *fh,
                                        struct v4l2_format *f);
        int (*vidioc_g_fmt_type_private)(struct file *file, void *fh,
                                        struct v4l2_format *f);
 
        /* VIDIOC_S_FMT handlers */
-       int (*vidioc_s_fmt_cap)        (struct file *file, void *fh,
+       int (*vidioc_s_fmt_vid_cap)    (struct file *file, void *fh,
                                        struct v4l2_format *f);
-
-       int (*vidioc_s_fmt_overlay)    (struct file *file, void *fh,
+       int (*vidioc_s_fmt_vid_overlay)(struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_s_fmt_vbi)        (struct file *file, void *fh,
+       int (*vidioc_s_fmt_vid_out)    (struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_s_fmt_vbi_output) (struct file *file, void *fh,
+       int (*vidioc_s_fmt_vid_out_overlay)(struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_s_fmt_vbi_capture)(struct file *file, void *fh,
+       int (*vidioc_s_fmt_vbi_cap)    (struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_s_fmt_video_output)(struct file *file, void *fh,
+       int (*vidioc_s_fmt_vbi_out)    (struct file *file, void *fh,
                                        struct v4l2_format *f);
-       int (*vidioc_s_fmt_output_overlay) (struct file *file, void *fh,
+       int (*vidioc_s_fmt_sliced_vbi_cap)(struct file *file, void *fh,
+                                       struct v4l2_format *f);
+       int (*vidioc_s_fmt_sliced_vbi_out)(struct file *file, void *fh,
                                        struct v4l2_format *f);
        int (*vidioc_s_fmt_type_private)(struct file *file, void *fh,
                                        struct v4l2_format *f);
 
        /* VIDIOC_TRY_FMT handlers */
-       int (*vidioc_try_fmt_cap)        (struct file *file, void *fh,
+       int (*vidioc_try_fmt_vid_cap)    (struct file *file, void *fh,
+                                         struct v4l2_format *f);
+       int (*vidioc_try_fmt_vid_overlay)(struct file *file, void *fh,
                                          struct v4l2_format *f);
-       int (*vidioc_try_fmt_overlay)    (struct file *file, void *fh,
+       int (*vidioc_try_fmt_vid_out)    (struct file *file, void *fh,
                                          struct v4l2_format *f);
-       int (*vidioc_try_fmt_vbi)        (struct file *file, void *fh,
+       int (*vidioc_try_fmt_vid_out_overlay)(struct file *file, void *fh,
                                          struct v4l2_format *f);
-       int (*vidioc_try_fmt_vbi_output) (struct file *file, void *fh,
+       int (*vidioc_try_fmt_vbi_cap)    (struct file *file, void *fh,
                                          struct v4l2_format *f);
-       int (*vidioc_try_fmt_vbi_capture)(struct file *file, void *fh,
+       int (*vidioc_try_fmt_vbi_out)    (struct file *file, void *fh,
                                          struct v4l2_format *f);
-       int (*vidioc_try_fmt_video_output)(struct file *file, void *fh,
+       int (*vidioc_try_fmt_sliced_vbi_cap)(struct file *file, void *fh,
                                          struct v4l2_format *f);
-       int (*vidioc_try_fmt_output_overlay)(struct file *file, void *fh,
+       int (*vidioc_try_fmt_sliced_vbi_out)(struct file *file, void *fh,
                                          struct v4l2_format *f);
        int (*vidioc_try_fmt_type_private)(struct file *file, void *fh,
                                          struct v4l2_format *f);
@@ -212,8 +216,9 @@ struct video_device
        int (*vidioc_streamoff)(struct file *file, void *fh, enum v4l2_buf_type i);
 
                /* Standard handling
-                       G_STD and ENUMSTD are handled by videodev.c
+                       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);
        int (*vidioc_querystd) (struct file *file, void *fh, v4l2_std_id *a);
 
@@ -224,7 +229,7 @@ struct video_device
        int (*vidioc_s_input)   (struct file *file, void *fh, unsigned int i);
 
                /* Output handling */
-       int (*vidioc_enumoutput) (struct file *file, void *fh,
+       int (*vidioc_enum_output) (struct file *file, void *fh,
                                  struct v4l2_output *a);
        int (*vidioc_g_output)   (struct file *file, void *fh, unsigned int *i);
        int (*vidioc_s_output)   (struct file *file, void *fh, unsigned int i);
@@ -306,6 +311,8 @@ struct video_device
        /* Log status ioctl */
        int (*vidioc_log_status)       (struct file *file, void *fh);
 
+       int (*vidioc_s_hw_freq_seek)   (struct file *file, void *fh,
+                                       struct v4l2_hw_freq_seek *a);
 
        /* Debugging ioctls */
 #ifdef CONFIG_VIDEO_ADV_DEBUG
@@ -342,6 +349,8 @@ void *priv;
 
 /* Version 2 functions */
 extern int video_register_device(struct video_device *vfd, int type, int nr);
+int video_register_device_index(struct video_device *vfd, int type, int nr,
+                                       int index);
 void video_unregister_device(struct video_device *);
 extern int video_ioctl2(struct inode *inode, struct file *file,
                          unsigned int cmd, unsigned long arg);
@@ -366,7 +375,7 @@ video_device_create_file(struct video_device *vfd,
 {
        int ret = device_create_file(&vfd->class_dev, attr);
        if (ret < 0)
-               printk(KERN_WARNING "%s error: %d\n", __FUNCTION__, ret);
+               printk(KERN_WARNING "%s error: %d\n", __func__, ret);
        return ret;
 }
 static inline void