From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 03 Jan 2024 09:43:39 +0000
Subject: [PATCH] update kernel to 5.10.198
---
kernel/drivers/media/i2c/ov12d2q.c | 21 ++++++---------------
1 files changed, 6 insertions(+), 15 deletions(-)
diff --git a/kernel/drivers/media/i2c/ov12d2q.c b/kernel/drivers/media/i2c/ov12d2q.c
index 667d980..f7d6a90 100644
--- a/kernel/drivers/media/i2c/ov12d2q.c
+++ b/kernel/drivers/media/i2c/ov12d2q.c
@@ -117,14 +117,6 @@
#define MIRROR_BIT_MASK BIT(2)
#define FLIP_BIT_MASK BIT(2)
-enum ov12d2q_max_pad {
- PAD0,
- PAD1,
- PAD2,
- PAD3,
- PAD_MAX,
-};
-
struct regval {
u16 addr;
u8 val;
@@ -2224,14 +2216,12 @@
struct ov12d2q *ov12d2q = to_ov12d2q(sd);
const struct ov12d2q_mode *mode = ov12d2q->cur_mode;
- mutex_lock(&ov12d2q->mutex);
fi->interval = mode->max_fps;
- mutex_unlock(&ov12d2q->mutex);
return 0;
}
-static int ov12d2q_g_mbus_config(struct v4l2_subdev *sd,
+static int ov12d2q_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id,
struct v4l2_mbus_config *config)
{
struct ov12d2q *ov12d2q = to_ov12d2q(sd);
@@ -2248,7 +2238,7 @@
V4L2_MBUS_CSI2_CONTINUOUS_CLOCK |
V4L2_MBUS_CSI2_CHANNEL_1;
- config->type = V4L2_MBUS_CSI2;
+ config->type = V4L2_MBUS_CSI2_DPHY;
config->flags = val;
return 0;
@@ -2724,7 +2714,6 @@
static const struct v4l2_subdev_video_ops ov12d2q_video_ops = {
.s_stream = ov12d2q_s_stream,
.g_frame_interval = ov12d2q_g_frame_interval,
- .g_mbus_config = ov12d2q_g_mbus_config,
};
static const struct v4l2_subdev_pad_ops ov12d2q_pad_ops = {
@@ -2733,6 +2722,7 @@
.enum_frame_interval = ov12d2q_enum_frame_interval,
.get_fmt = ov12d2q_get_fmt,
.set_fmt = ov12d2q_set_fmt,
+ .get_mbus_config = ov12d2q_g_mbus_config,
};
static const struct v4l2_subdev_ops ov12d2q_subdev_ops = {
@@ -2769,7 +2759,7 @@
switch (ctrl->id) {
case V4L2_CID_EXPOSURE:
if (ov12d2q->cur_mode->hdr_mode != NO_HDR)
- return 0;
+ goto ctrl_end;
ret = ov12d2q_write_reg(ov12d2q->client,
OV12D2Q_REG_EXP_L_H,
OV12D2Q_REG_VALUE_16BIT,
@@ -2779,7 +2769,7 @@
break;
case V4L2_CID_ANALOGUE_GAIN:
if (ov12d2q->cur_mode->hdr_mode != NO_HDR)
- return 0;
+ goto ctrl_end;
if (ctrl->val > 1984) {// >15.5x
dgain = ctrl->val * 10 / 155;
again = 1984;
@@ -2896,6 +2886,7 @@
break;
}
+ctrl_end:
pm_runtime_put(&client->dev);
return ret;
--
Gitblit v1.6.2