aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0725-media-i2c-Remove-.s_power-from-ov7251.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0725-media-i2c-Remove-.s_power-from-ov7251.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0725-media-i2c-Remove-.s_power-from-ov7251.patch89
1 files changed, 89 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0725-media-i2c-Remove-.s_power-from-ov7251.patch b/target/linux/bcm27xx/patches-5.15/950-0725-media-i2c-Remove-.s_power-from-ov7251.patch
new file mode 100644
index 0000000000..0376a1a90a
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.15/950-0725-media-i2c-Remove-.s_power-from-ov7251.patch
@@ -0,0 +1,89 @@
+From 27a8c7902543676a670424b28fb9b43c6c4ce59b Mon Sep 17 00:00:00 2001
+From: Daniel Scally <djrscally@gmail.com>
+Date: Tue, 15 Feb 2022 23:07:36 +0000
+Subject: [PATCH] media: i2c: Remove .s_power() from ov7251
+
+The .s_power() callback is deprecated, and now that we have pm_runtime
+functionality in the driver there's no further use for it. Delete the
+function.
+
+Signed-off-by: Daniel Scally <djrscally@gmail.com>
+Reported-by: kernel test robot <lkp@intel.com>
+---
+ drivers/media/i2c/ov7251.c | 44 +-------------------------------------
+ 1 file changed, 1 insertion(+), 43 deletions(-)
+
+--- a/drivers/media/i2c/ov7251.c
++++ b/drivers/media/i2c/ov7251.c
+@@ -903,43 +903,6 @@ static int __maybe_unused ov7251_sensor_
+ return ov7251_set_power_on(ov7251);
+ }
+
+-static int ov7251_s_power(struct v4l2_subdev *sd, int on)
+-{
+- struct ov7251 *ov7251 = to_ov7251(sd);
+- int ret = 0;
+-
+- mutex_lock(&ov7251->lock);
+-
+- /* If the power state is not modified - no work to do. */
+- if (ov7251->power_on == !!on)
+- goto exit;
+-
+- if (on) {
+- ret = ov7251_set_power_on(ov7251);
+- if (ret < 0)
+- goto exit;
+-
+- ret = ov7251_set_register_array(ov7251,
+- ov7251_global_init_setting,
+- ARRAY_SIZE(ov7251_global_init_setting));
+- if (ret < 0) {
+- dev_err(ov7251->dev, "could not set init registers\n");
+- ov7251_set_power_off(ov7251);
+- goto exit;
+- }
+-
+- ov7251->power_on = true;
+- } else {
+- ov7251_set_power_off(ov7251);
+- ov7251->power_on = false;
+- }
+-
+-exit:
+- mutex_unlock(&ov7251->lock);
+-
+- return ret;
+-}
+-
+ static int ov7251_set_hflip(struct ov7251 *ov7251, s32 value)
+ {
+ u8 val = ov7251->timing_format2;
+@@ -1384,10 +1347,6 @@ exit:
+ return ret;
+ }
+
+-static const struct v4l2_subdev_core_ops ov7251_core_ops = {
+- .s_power = ov7251_s_power,
+-};
+-
+ static const struct v4l2_subdev_video_ops ov7251_video_ops = {
+ .s_stream = ov7251_s_stream,
+ .g_frame_interval = ov7251_get_frame_interval,
+@@ -1405,7 +1364,6 @@ static const struct v4l2_subdev_pad_ops
+ };
+
+ static const struct v4l2_subdev_ops ov7251_subdev_ops = {
+- .core = &ov7251_core_ops,
+ .video = &ov7251_video_ops,
+ .pad = &ov7251_subdev_pad_ops,
+ };
+@@ -1701,7 +1659,7 @@ err_pm_runtime:
+ pm_runtime_disable(ov7251->dev);
+ pm_runtime_put_noidle(ov7251->dev);
+ power_down:
+- ov7251_s_power(&ov7251->sd, false);
++ ov7251_set_power_off(ov7251);
+ free_entity:
+ media_entity_cleanup(&ov7251->sd.entity);
+ free_ctrl: