media: i2c: ov7251: V4L2_CID_LINK_FREQUENCY is fixed
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Sat, 12 Feb 2022 09:53:47 +0000 (09:53 +0000)
committerDom Cobley <popcornmix@gmail.com>
Mon, 21 Mar 2022 16:04:44 +0000 (16:04 +0000)
The link frequency does not change with the mode, so remove
the special handling for it.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drivers/media/i2c/ov7251.c

index 06e45f4..419fce0 100644 (file)
@@ -66,7 +66,6 @@ struct ov7251_mode_info {
        u32 height;
        const struct reg_value *data;
        u32 data_size;
-       u32 link_freq;
        u16 exposure_max;
        u16 exposure_def;
        struct v4l2_fract timeperframe;
@@ -113,7 +112,6 @@ struct ov7251 {
        const struct ov7251_mode_info *current_mode;
 
        struct v4l2_ctrl_handler ctrls;
-       struct v4l2_ctrl *link_freq;
        struct v4l2_ctrl *exposure;
        struct v4l2_ctrl *gain;
 
@@ -591,7 +589,6 @@ static const struct ov7251_mode_info ov7251_mode_info_data[] = {
                .height = 480,
                .data = ov7251_setting_vga_30fps,
                .data_size = ARRAY_SIZE(ov7251_setting_vga_30fps),
-               .link_freq = 0, /* an index in link_freq[] */
                .exposure_max = 1704,
                .exposure_def = 504,
                .timeperframe = {
@@ -604,7 +601,6 @@ static const struct ov7251_mode_info ov7251_mode_info_data[] = {
                .height = 480,
                .data = ov7251_setting_vga_60fps,
                .data_size = ARRAY_SIZE(ov7251_setting_vga_60fps),
-               .link_freq = 0, /* an index in link_freq[] */
                .exposure_max = 840,
                .exposure_def = 504,
                .timeperframe = {
@@ -617,7 +613,6 @@ static const struct ov7251_mode_info ov7251_mode_info_data[] = {
                .height = 480,
                .data = ov7251_setting_vga_90fps,
                .data_size = ARRAY_SIZE(ov7251_setting_vga_90fps),
-               .link_freq = 0, /* an index in link_freq[] */
                .exposure_max = 552,
                .exposure_def = 504,
                .timeperframe = {
@@ -1152,11 +1147,6 @@ static int ov7251_set_format(struct v4l2_subdev *sd,
        __crop->height = new_mode->height;
 
        if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
-               ret = __v4l2_ctrl_s_ctrl(ov7251->link_freq,
-                                        new_mode->link_freq);
-               if (ret < 0)
-                       goto exit;
-
                ret = __v4l2_ctrl_modify_range(ov7251->exposure,
                                               1, new_mode->exposure_max,
                                               1, new_mode->exposure_def);
@@ -1311,11 +1301,6 @@ static int ov7251_set_frame_interval(struct v4l2_subdev *subdev,
        new_mode = ov7251_find_mode_by_ival(ov7251, &fi->interval);
 
        if (new_mode != ov7251->current_mode) {
-               ret = __v4l2_ctrl_s_ctrl(ov7251->link_freq,
-                                        new_mode->link_freq);
-               if (ret < 0)
-                       goto exit;
-
                ret = __v4l2_ctrl_modify_range(ov7251->exposure,
                                               1, new_mode->exposure_max,
                                               1, new_mode->exposure_def);
@@ -1464,6 +1449,7 @@ static int ov7251_probe(struct i2c_client *client)
 {
        struct v4l2_fwnode_device_properties props;
        struct device *dev = &client->dev;
+       struct v4l2_ctrl *ctrl;
        struct ov7251 *ov7251;
        unsigned int rate = 0;
        int ret;
@@ -1561,13 +1547,12 @@ static int ov7251_probe(struct i2c_client *client)
        v4l2_ctrl_new_std(&ov7251->ctrls, &ov7251_ctrl_ops,
                          V4L2_CID_PIXEL_RATE, OV7251_PIXEL_CLOCK,
                          OV7251_PIXEL_CLOCK, 1, OV7251_PIXEL_CLOCK);
-       ov7251->link_freq = v4l2_ctrl_new_int_menu(&ov7251->ctrls,
-                                                  &ov7251_ctrl_ops,
-                                                  V4L2_CID_LINK_FREQ,
-                                                  ARRAY_SIZE(link_freq) - 1,
-                                                  0, link_freq);
-       if (ov7251->link_freq)
-               ov7251->link_freq->flags |= V4L2_CTRL_FLAG_READ_ONLY;
+       ctrl = v4l2_ctrl_new_int_menu(&ov7251->ctrls, &ov7251_ctrl_ops,
+                                     V4L2_CID_LINK_FREQ,
+                                     ARRAY_SIZE(link_freq) - 1,
+                                     0, link_freq);
+       if (ctrl)
+               ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY;
 
        ov7251->sd.ctrl_handler = &ov7251->ctrls;