return -EBUSY;
 
        err = v4l2_subdev_call(s->sd,
-                       video, s_dv_timings, timings);
+                       pad, s_dv_timings, 0, timings);
        if (!err) {
                s->timings = *timings;
                s->width = timings->bt.width;
                return 0;
        }
        return v4l2_subdev_call(s->sd,
-                       video, g_dv_timings, timings);
+                       pad, g_dv_timings, 0, timings);
 }
 
 static int cobalt_query_dv_timings(struct file *file, void *priv_fh,
                return 0;
        }
        return v4l2_subdev_call(s->sd,
-                       video, query_dv_timings, timings);
+                       pad, query_dv_timings, 0, timings);
 }
 
 static int cobalt_dv_timings_cap(struct file *file, void *priv_fh,
        if (s->input == 1)
                timings = cea1080p60;
        else
-               err = v4l2_subdev_call(s->sd, video, g_dv_timings, &timings);
+               err = v4l2_subdev_call(s->sd, pad, g_dv_timings, 0, &timings);
        if (!err)
                *f = v4l2_dv_timings_aspect_ratio(&timings);
        return err;
        if (s->input == 1)
                timings = cea1080p60;
        else
-               err = v4l2_subdev_call(s->sd, video, g_dv_timings, &timings);
+               err = v4l2_subdev_call(s->sd, pad, g_dv_timings, 0, &timings);
 
        if (err)
                return err;
                if (s->sd)
                        vdev->ctrl_handler = s->sd->ctrl_handler;
                s->timings = dv1080p60;
-               v4l2_subdev_call(s->sd, video, s_dv_timings, &s->timings);
+               v4l2_subdev_call(s->sd, pad, s_dv_timings, 0, &s->timings);
                if (!s->is_output && s->sd)
                        cobalt_enable_input(s);
                vdev->ioctl_ops = s->is_dummy ? &cobalt_ioctl_empty_ops :