return v4l2_subdev_call(sd, video, g_vbi_data, arg);
        case VIDIOC_G_SLICED_VBI_CAP:
                return v4l2_subdev_call(sd, video, g_sliced_vbi_cap, arg);
+       case VIDIOC_ENUM_FMT:
+               return v4l2_subdev_call(sd, video, enum_fmt, arg);
+       case VIDIOC_TRY_FMT:
+               return v4l2_subdev_call(sd, video, try_fmt, arg);
        case VIDIOC_S_FMT:
                return v4l2_subdev_call(sd, video, s_fmt, arg);
        case VIDIOC_G_FMT:
                return v4l2_subdev_call(sd, video, s_stream, 1);
        case VIDIOC_STREAMOFF:
                return v4l2_subdev_call(sd, video, s_stream, 0);
+       case VIDIOC_S_PARM:
+               return v4l2_subdev_call(sd, video, s_parm, arg);
+       case VIDIOC_G_PARM:
+               return v4l2_subdev_call(sd, video, g_parm, arg);
 
        default:
                return v4l2_subdev_call(sd, core, ioctl, cmd, arg);
 
        int (*querystd)(struct v4l2_subdev *sd, v4l2_std_id *std);
        int (*g_input_status)(struct v4l2_subdev *sd, u32 *status);
        int (*s_stream)(struct v4l2_subdev *sd, int enable);
-       int (*s_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt);
+       int (*enum_fmt)(struct v4l2_subdev *sd, struct v4l2_fmtdesc *fmtdesc);
        int (*g_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt);
+       int (*try_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt);
+       int (*s_fmt)(struct v4l2_subdev *sd, struct v4l2_format *fmt);
+       int (*g_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param);
+       int (*s_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param);
 };
 
 struct v4l2_subdev_ops {