From 9370bb92b2d16684ee45cf24e879c93c509162da Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Thu, 19 Dec 2024 01:47:39 +0000 Subject: [PATCH] add wifi6 8852be driver --- kernel/drivers/media/i2c/ov8858.c | 18 +++++++----------- 1 files changed, 7 insertions(+), 11 deletions(-) diff --git a/kernel/drivers/media/i2c/ov8858.c b/kernel/drivers/media/i2c/ov8858.c index 646df26..966b8da 100644 --- a/kernel/drivers/media/i2c/ov8858.c +++ b/kernel/drivers/media/i2c/ov8858.c @@ -2131,9 +2131,7 @@ struct ov8858 *ov8858 = to_ov8858(sd); const struct ov8858_mode *mode = ov8858->cur_mode; - mutex_lock(&ov8858->mutex); fi->interval = mode->max_fps; - mutex_unlock(&ov8858->mutex); return 0; } @@ -2803,7 +2801,7 @@ regulator_bulk_disable(OV8858_NUM_SUPPLIES, ov8858->supplies); } -static int ov8858_runtime_resume(struct device *dev) +static int __maybe_unused ov8858_runtime_resume(struct device *dev) { struct i2c_client *client = to_i2c_client(dev); struct v4l2_subdev *sd = i2c_get_clientdata(client); @@ -2812,7 +2810,7 @@ return __ov8858_power_on(ov8858); } -static int ov8858_runtime_suspend(struct device *dev) +static int __maybe_unused ov8858_runtime_suspend(struct device *dev) { struct i2c_client *client = to_i2c_client(dev); struct v4l2_subdev *sd = i2c_get_clientdata(client); @@ -2854,16 +2852,14 @@ if (fie->index >= ov8858->cfg_num) return -EINVAL; - if (fie->code != OV8858_MEDIA_BUS_FMT) - return -EINVAL; - + fie->code = OV8858_MEDIA_BUS_FMT; fie->width = supported_modes[fie->index].width; fie->height = supported_modes[fie->index].height; fie->interval = supported_modes[fie->index].max_fps; return 0; } -static int ov8858_g_mbus_config(struct v4l2_subdev *sd, +static int ov8858_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, struct v4l2_mbus_config *config) { struct ov8858 *sensor = to_ov8858 (sd); @@ -2872,12 +2868,12 @@ dev_info(dev, "%s(%d) enter!\n", __func__, __LINE__); if (2 == sensor->lane_num) { - config->type = V4L2_MBUS_CSI2; + config->type = V4L2_MBUS_CSI2_DPHY; config->flags = V4L2_MBUS_CSI2_2_LANE | V4L2_MBUS_CSI2_CHANNEL_0 | V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; } else if (4 == sensor->lane_num) { - config->type = V4L2_MBUS_CSI2; + config->type = V4L2_MBUS_CSI2_DPHY; config->flags = V4L2_MBUS_CSI2_4_LANE | V4L2_MBUS_CSI2_CHANNEL_0 | V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; @@ -2910,7 +2906,6 @@ static const struct v4l2_subdev_video_ops ov8858_video_ops = { .s_stream = ov8858_s_stream, .g_frame_interval = ov8858_g_frame_interval, - .g_mbus_config = ov8858_g_mbus_config, }; static const struct v4l2_subdev_pad_ops ov8858_pad_ops = { @@ -2919,6 +2914,7 @@ .enum_frame_interval = ov8858_enum_frame_interval, .get_fmt = ov8858_get_fmt, .set_fmt = ov8858_set_fmt, + .get_mbus_config = ov8858_g_mbus_config, }; static const struct v4l2_subdev_ops ov8858_subdev_ops = { -- Gitblit v1.6.2