forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/media/i2c/gc2385.c
....@@ -443,9 +443,7 @@
443443 struct gc2385 *gc2385 = to_gc2385(sd);
444444 const struct gc2385_mode *mode = gc2385->cur_mode;
445445
446
- mutex_lock(&gc2385->mutex);
447446 fi->interval = mode->max_fps;
448
- mutex_unlock(&gc2385->mutex);
449447
450448 return 0;
451449 }
....@@ -729,7 +727,7 @@
729727 regulator_bulk_disable(GC2385_NUM_SUPPLIES, gc2385->supplies);
730728 }
731729
732
-static int gc2385_runtime_resume(struct device *dev)
730
+static int __maybe_unused gc2385_runtime_resume(struct device *dev)
733731 {
734732 struct i2c_client *client = to_i2c_client(dev);
735733 struct v4l2_subdev *sd = i2c_get_clientdata(client);
....@@ -738,7 +736,7 @@
738736 return __gc2385_power_on(gc2385);
739737 }
740738
741
-static int gc2385_runtime_suspend(struct device *dev)
739
+static int __maybe_unused gc2385_runtime_suspend(struct device *dev)
742740 {
743741 struct i2c_client *client = to_i2c_client(dev);
744742 struct v4l2_subdev *sd = i2c_get_clientdata(client);
....@@ -778,16 +776,14 @@
778776 if (fie->index >= ARRAY_SIZE(supported_modes))
779777 return -EINVAL;
780778
781
- if (fie->code != MEDIA_BUS_FMT_SBGGR10_1X10)
782
- return -EINVAL;
783
-
779
+ fie->code = MEDIA_BUS_FMT_SBGGR10_1X10;
784780 fie->width = supported_modes[fie->index].width;
785781 fie->height = supported_modes[fie->index].height;
786782 fie->interval = supported_modes[fie->index].max_fps;
787783 return 0;
788784 }
789785
790
-static int gc2385_g_mbus_config(struct v4l2_subdev *sd,
786
+static int gc2385_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id,
791787 struct v4l2_mbus_config *config)
792788 {
793789 u32 val = 0;
....@@ -795,7 +791,7 @@
795791 val = 1 << (GC2385_LANES - 1) |
796792 V4L2_MBUS_CSI2_CHANNEL_0 |
797793 V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
798
- config->type = V4L2_MBUS_CSI2;
794
+ config->type = V4L2_MBUS_CSI2_DPHY;
799795 config->flags = val;
800796
801797 return 0;
....@@ -823,7 +819,6 @@
823819 static const struct v4l2_subdev_video_ops gc2385_video_ops = {
824820 .s_stream = gc2385_s_stream,
825821 .g_frame_interval = gc2385_g_frame_interval,
826
- .g_mbus_config = gc2385_g_mbus_config,
827822 };
828823
829824 static const struct v4l2_subdev_pad_ops gc2385_pad_ops = {
....@@ -832,6 +827,7 @@
832827 .enum_frame_interval = gc2385_enum_frame_interval,
833828 .get_fmt = gc2385_get_fmt,
834829 .set_fmt = gc2385_set_fmt,
830
+ .get_mbus_config = gc2385_g_mbus_config,
835831 };
836832
837833 static const struct v4l2_subdev_ops gc2385_subdev_ops = {