forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/media/i2c/imx378.c
....@@ -127,14 +127,6 @@
127127
128128 #define IMX378_NUM_SUPPLIES ARRAY_SIZE(imx378_supply_names)
129129
130
-enum imx378_max_pad {
131
- PAD0, /* link to isp */
132
- PAD1, /* link to csi wr0 | hdr x2:L x3:M */
133
- PAD2, /* link to csi wr1 | hdr x3:L */
134
- PAD3, /* link to csi wr2 | hdr x2:M x3:S */
135
- PAD_MAX,
136
-};
137
-
138130 struct regval {
139131 u16 addr;
140132 u8 val;
....@@ -2091,14 +2083,12 @@
20912083 struct imx378 *imx378 = to_imx378(sd);
20922084 const struct imx378_mode *mode = imx378->cur_mode;
20932085
2094
- mutex_lock(&imx378->mutex);
20952086 fi->interval = mode->max_fps;
2096
- mutex_unlock(&imx378->mutex);
20972087
20982088 return 0;
20992089 }
21002090
2101
-static int imx378_g_mbus_config(struct v4l2_subdev *sd,
2091
+static int imx378_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id,
21022092 struct v4l2_mbus_config *config)
21032093 {
21042094 struct imx378 *imx378 = to_imx378(sd);
....@@ -2116,7 +2106,7 @@
21162106 V4L2_MBUS_CSI2_CONTINUOUS_CLOCK |
21172107 V4L2_MBUS_CSI2_CHANNEL_1;
21182108
2119
- config->type = V4L2_MBUS_CSI2;
2109
+ config->type = V4L2_MBUS_CSI2_DPHY;
21202110 config->flags = val;
21212111
21222112 return 0;
....@@ -2570,7 +2560,6 @@
25702560 static const struct v4l2_subdev_video_ops imx378_video_ops = {
25712561 .s_stream = imx378_s_stream,
25722562 .g_frame_interval = imx378_g_frame_interval,
2573
- .g_mbus_config = imx378_g_mbus_config,
25742563 };
25752564
25762565 static const struct v4l2_subdev_pad_ops imx378_pad_ops = {
....@@ -2579,6 +2568,7 @@
25792568 .enum_frame_interval = imx378_enum_frame_interval,
25802569 .get_fmt = imx378_get_fmt,
25812570 .set_fmt = imx378_set_fmt,
2571
+ .get_mbus_config = imx378_g_mbus_config,
25822572 };
25832573
25842574 static const struct v4l2_subdev_ops imx378_subdev_ops = {