]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
media: i2c: adv7842: Switch dv timing callbacks to pad ops
authorPaweł Anikiel <panikiel@google.com>
Fri, 5 Apr 2024 14:14:00 +0000 (14:14 +0000)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 9 Apr 2024 06:15:03 +0000 (08:15 +0200)
Change all (s|g|query)_dv_timings subdev callbacks to include
a pad argument.

Signed-off-by: Paweł Anikiel <panikiel@google.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/i2c/adv7842.c

index 2ad0f9f5503db8432290c18807caf2eb3a939b11..f2d4217310e7ffe82a0c170bad3096be08004bd4 100644 (file)
@@ -1518,7 +1518,7 @@ static void adv7842_fill_optional_dv_timings_fields(struct v4l2_subdev *sd,
        timings->bt.flags |= V4L2_DV_FL_CAN_DETECT_REDUCED_FPS;
 }
 
-static int adv7842_query_dv_timings(struct v4l2_subdev *sd,
+static int adv7842_query_dv_timings(struct v4l2_subdev *sd, unsigned int pad,
                                    struct v4l2_dv_timings *timings)
 {
        struct adv7842_state *state = to_state(sd);
@@ -1527,6 +1527,9 @@ static int adv7842_query_dv_timings(struct v4l2_subdev *sd,
 
        v4l2_dbg(1, debug, sd, "%s:\n", __func__);
 
+       if (pad != 0)
+               return -EINVAL;
+
        memset(timings, 0, sizeof(struct v4l2_dv_timings));
 
        /* SDP block */
@@ -1643,7 +1646,7 @@ found:
        return 0;
 }
 
-static int adv7842_s_dv_timings(struct v4l2_subdev *sd,
+static int adv7842_s_dv_timings(struct v4l2_subdev *sd, unsigned int pad,
                                struct v4l2_dv_timings *timings)
 {
        struct adv7842_state *state = to_state(sd);
@@ -1652,6 +1655,9 @@ static int adv7842_s_dv_timings(struct v4l2_subdev *sd,
 
        v4l2_dbg(1, debug, sd, "%s:\n", __func__);
 
+       if (pad != 0)
+               return -EINVAL;
+
        if (state->mode == ADV7842_MODE_SDP)
                return -ENODATA;
 
@@ -1689,11 +1695,14 @@ static int adv7842_s_dv_timings(struct v4l2_subdev *sd,
        return 0;
 }
 
-static int adv7842_g_dv_timings(struct v4l2_subdev *sd,
+static int adv7842_g_dv_timings(struct v4l2_subdev *sd, unsigned int pad,
                                struct v4l2_dv_timings *timings)
 {
        struct adv7842_state *state = to_state(sd);
 
+       if (pad != 0)
+               return -EINVAL;
+
        if (state->mode == ADV7842_MODE_SDP)
                return -ENODATA;
        *timings = state->timings;
@@ -2780,7 +2789,7 @@ static int adv7842_cp_log_status(struct v4l2_subdev *sd)
                                "interlaced" : "progressive",
                        hs_pol, vs_pol);
        }
-       if (adv7842_query_dv_timings(sd, &timings))
+       if (adv7842_query_dv_timings(sd, 0, &timings))
                v4l2_info(sd, "No video detected\n");
        else
                v4l2_print_dv_timings(sd->name, "Detected format: ",
@@ -3226,7 +3235,7 @@ static int adv7842_command_ram_test(struct v4l2_subdev *sd)
 
        memset(&state->timings, 0, sizeof(struct v4l2_dv_timings));
 
-       adv7842_s_dv_timings(sd, &timings);
+       adv7842_s_dv_timings(sd, 0, &timings);
 
        return ret;
 }
@@ -3298,9 +3307,6 @@ static const struct v4l2_subdev_video_ops adv7842_video_ops = {
        .s_routing = adv7842_s_routing,
        .querystd = adv7842_querystd,
        .g_input_status = adv7842_g_input_status,
-       .s_dv_timings = adv7842_s_dv_timings,
-       .g_dv_timings = adv7842_g_dv_timings,
-       .query_dv_timings = adv7842_query_dv_timings,
 };
 
 static const struct v4l2_subdev_pad_ops adv7842_pad_ops = {
@@ -3309,6 +3315,9 @@ static const struct v4l2_subdev_pad_ops adv7842_pad_ops = {
        .set_fmt = adv7842_set_format,
        .get_edid = adv7842_get_edid,
        .set_edid = adv7842_set_edid,
+       .s_dv_timings = adv7842_s_dv_timings,
+       .g_dv_timings = adv7842_g_dv_timings,
+       .query_dv_timings = adv7842_query_dv_timings,
        .enum_dv_timings = adv7842_enum_dv_timings,
        .dv_timings_cap = adv7842_dv_timings_cap,
 };