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/lt8619c.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/kernel/drivers/media/i2c/lt8619c.c b/kernel/drivers/media/i2c/lt8619c.c
index ab4c926..6255318 100644
--- a/kernel/drivers/media/i2c/lt8619c.c
+++ b/kernel/drivers/media/i2c/lt8619c.c
@@ -27,6 +27,7 @@
 #include <linux/v4l2-dv-timings.h>
 #include <linux/hdmi.h>
 #include <linux/version.h>
+#include <linux/compat.h>
 #include <linux/rk-camera-module.h>
 #include <media/v4l2-dv-timings.h>
 #include <media/v4l2-device.h>
@@ -36,7 +37,7 @@
 #include <linux/regmap.h>
 #include "lt8619c.h"
 
-#define DRIVER_VERSION		KERNEL_VERSION(0, 0x1, 0x2)
+#define DRIVER_VERSION		KERNEL_VERSION(0, 0x01, 0x02)
 #define LT8619C_NAME		"LT8619C"
 
 static int debug;
@@ -1141,7 +1142,7 @@
 	return 0;
 }
 
-static int lt8619c_g_mbus_config(struct v4l2_subdev *sd,
+static int lt8619c_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad,
 			     struct v4l2_mbus_config *cfg)
 {
 	struct lt8619c *lt8619c = to_lt8619c(sd);
@@ -1222,8 +1223,7 @@
 	if (fie->index >= ARRAY_SIZE(supported_modes))
 		return -EINVAL;
 
-	if (fie->code != MEDIA_BUS_FMT_UYVY8_2X8)
-		return -EINVAL;
+	fie->code = MEDIA_BUS_FMT_UYVY8_2X8;
 
 	fie->width = supported_modes[fie->index].width;
 	fie->height = supported_modes[fie->index].height;
@@ -1522,7 +1522,6 @@
 	.s_dv_timings = lt8619c_s_dv_timings,
 	.g_dv_timings = lt8619c_g_dv_timings,
 	.query_dv_timings = lt8619c_query_dv_timings,
-	.g_mbus_config = lt8619c_g_mbus_config,
 	.s_stream = lt8619c_s_stream,
 	.g_frame_interval = lt8619c_g_frame_interval,
 	.querystd = lt8619c_querystd,
@@ -1538,6 +1537,7 @@
 	.set_edid = lt8619c_s_edid,
 	.enum_dv_timings = lt8619c_enum_dv_timings,
 	.dv_timings_cap = lt8619c_dv_timings_cap,
+	.get_mbus_config = lt8619c_g_mbus_config,
 };
 
 static const struct v4l2_subdev_ops lt8619c_ops = {
@@ -1727,6 +1727,8 @@
 			const struct i2c_device_id *id)
 {
 	struct device *dev = &client->dev;
+	struct v4l2_dv_timings default_timing =
+				V4L2_DV_BT_CEA_640X480P59_94;
 	struct lt8619c *lt8619c;
 	struct v4l2_subdev *sd;
 	char facing[2];
@@ -1743,6 +1745,7 @@
 
 	sd = &lt8619c->sd;
 	lt8619c->i2c_client = client;
+	lt8619c->timings = default_timing;
 	lt8619c->cur_mode = &supported_modes[0];
 	lt8619c->mbus_fmt_code = MEDIA_BUS_FMT_UYVY8_2X8;
 

--
Gitblit v1.6.2