hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/media/i2c/ov4688.c
....@@ -103,14 +103,6 @@
103103
104104 #define OV4688_NUM_SUPPLIES ARRAY_SIZE(ov4688_supply_names)
105105
106
-enum ov4688_max_pad {
107
- PAD0, /* link to isp */
108
- PAD1, /* link to csi wr0 | hdr x2:L x3:M */
109
- PAD2, /* link to csi wr1 | hdr x3:L */
110
- PAD3, /* link to csi wr2 | hdr x2:M x3:S */
111
- PAD_MAX,
112
-};
113
-
114106 struct regval {
115107 u16 addr;
116108 u8 val;
....@@ -984,14 +976,12 @@
984976 struct ov4688 *ov4688 = to_ov4688(sd);
985977 const struct ov4688_mode *mode = ov4688->cur_mode;
986978
987
- mutex_lock(&ov4688->mutex);
988979 fi->interval = mode->max_fps;
989
- mutex_unlock(&ov4688->mutex);
990980
991981 return 0;
992982 }
993983
994
-static int ov4688_g_mbus_config(struct v4l2_subdev *sd,
984
+static int ov4688_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id,
995985 struct v4l2_mbus_config *config)
996986 {
997987 struct ov4688 *ov4688 = to_ov4688(sd);
....@@ -1005,7 +995,7 @@
1005995 if (mode->hdr_mode == HDR_X3)
1006996 val |= V4L2_MBUS_CSI2_CHANNEL_2;
1007997
1008
- config->type = V4L2_MBUS_CSI2;
998
+ config->type = V4L2_MBUS_CSI2_DPHY;
1009999 config->flags = val;
10101000
10111001 return 0;
....@@ -1480,7 +1470,6 @@
14801470 static const struct v4l2_subdev_video_ops ov4688_video_ops = {
14811471 .s_stream = ov4688_s_stream,
14821472 .g_frame_interval = ov4688_g_frame_interval,
1483
- .g_mbus_config = ov4688_g_mbus_config,
14841473 };
14851474
14861475 static const struct v4l2_subdev_pad_ops ov4688_pad_ops = {
....@@ -1490,6 +1479,7 @@
14901479 .get_fmt = ov4688_get_fmt,
14911480 .set_fmt = ov4688_set_fmt,
14921481 .get_selection = ov4688_get_selection,
1482
+ .get_mbus_config = ov4688_g_mbus_config,
14931483 };
14941484
14951485 static const struct v4l2_subdev_ops ov4688_subdev_ops = {