hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/media/i2c/imx258.c
....@@ -89,14 +89,6 @@
8989
9090 #define IMX258_NUM_SUPPLIES ARRAY_SIZE(imx258_supply_names)
9191
92
-enum imx258_max_pad {
93
- PAD0,
94
- PAD1,
95
- PAD2,
96
- PAD3,
97
- PAD_MAX,
98
-};
99
-
10092 struct regval {
10193 u16 addr;
10294 u8 val;
....@@ -968,9 +960,7 @@
968960 struct imx258 *imx258 = to_imx258(sd);
969961 const struct imx258_mode *mode = imx258->cur_mode;
970962
971
- mutex_lock(&imx258->mutex);
972963 fi->interval = mode->max_fps;
973
- mutex_unlock(&imx258->mutex);
974964
975965 return 0;
976966 }
....@@ -990,14 +980,14 @@
990980 if (imx258_module_info[i].id == otp->module_id)
991981 break;
992982 }
993
- strlcpy(inf->fac.module, imx258_module_info[i].name,
983
+ strscpy(inf->fac.module, imx258_module_info[i].name,
994984 sizeof(inf->fac.module));
995985
996986 for (i = 0; i < ARRAY_SIZE(imx258_lens_info) - 1; i++) {
997987 if (imx258_lens_info[i].id == otp->lens_id)
998988 break;
999989 }
1000
- strlcpy(inf->fac.lens, imx258_lens_info[i].name,
990
+ strscpy(inf->fac.lens, imx258_lens_info[i].name,
1001991 sizeof(inf->fac.lens));
1002992 }
1003993 /* awb */
....@@ -1042,11 +1032,11 @@
10421032 {
10431033 struct imx258_otp_info *otp = imx258->otp;
10441034
1045
- strlcpy(inf->base.sensor, IMX258_NAME, sizeof(inf->base.sensor));
1046
- strlcpy(inf->base.module,
1035
+ strscpy(inf->base.sensor, IMX258_NAME, sizeof(inf->base.sensor));
1036
+ strscpy(inf->base.module,
10471037 imx258->module_name,
10481038 sizeof(inf->base.module));
1049
- strlcpy(inf->base.lens, imx258->len_name, sizeof(inf->base.lens));
1039
+ strscpy(inf->base.lens, imx258->len_name, sizeof(inf->base.lens));
10501040 if (otp)
10511041 imx258_get_otp(otp, inf);
10521042 }
....@@ -1599,7 +1589,7 @@
15991589 return 0;
16001590 }
16011591
1602
-static int imx258_g_mbus_config(struct v4l2_subdev *sd,
1592
+static int imx258_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id,
16031593 struct v4l2_mbus_config *config)
16041594 {
16051595 u32 val = 0;
....@@ -1607,7 +1597,7 @@
16071597 val = 1 << (IMX258_LANES - 1) |
16081598 V4L2_MBUS_CSI2_CHANNEL_0 |
16091599 V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
1610
- config->type = V4L2_MBUS_CSI2;
1600
+ config->type = V4L2_MBUS_CSI2_DPHY;
16111601 config->flags = val;
16121602
16131603 return 0;
....@@ -1635,7 +1625,6 @@
16351625 static const struct v4l2_subdev_video_ops imx258_video_ops = {
16361626 .s_stream = imx258_s_stream,
16371627 .g_frame_interval = imx258_g_frame_interval,
1638
- .g_mbus_config = imx258_g_mbus_config,
16391628 };
16401629
16411630 static const struct v4l2_subdev_pad_ops imx258_pad_ops = {
....@@ -1644,6 +1633,7 @@
16441633 .enum_frame_interval = imx258_enum_frame_interval,
16451634 .get_fmt = imx258_get_fmt,
16461635 .set_fmt = imx258_set_fmt,
1636
+ .get_mbus_config = imx258_g_mbus_config,
16471637 };
16481638
16491639 static const struct v4l2_subdev_ops imx258_subdev_ops = {