mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
60 lines
2.1 KiB
Diff
60 lines
2.1 KiB
Diff
|
From 7e9abcc3a76431e1171af2d62330f66734924748 Mon Sep 17 00:00:00 2001
|
||
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
Date: Fri, 1 Apr 2022 18:54:12 +0100
|
||
|
Subject: [PATCH 0458/1085] media: i2c: imx258: Set pixel_rate range to the
|
||
|
same as the value
|
||
|
|
||
|
With a read only control there is limited point in advertising
|
||
|
a minimum and maximum for the control, so change to set the
|
||
|
value, min, and max all to the selected pixel rate.
|
||
|
|
||
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
---
|
||
|
drivers/media/i2c/imx258.c | 18 +++++++-----------
|
||
|
1 file changed, 7 insertions(+), 11 deletions(-)
|
||
|
|
||
|
--- a/drivers/media/i2c/imx258.c
|
||
|
+++ b/drivers/media/i2c/imx258.c
|
||
|
@@ -1197,7 +1197,8 @@ static int imx258_set_pad_format(struct
|
||
|
|
||
|
link_freq = imx258->link_freq_menu_items[mode->link_freq_index];
|
||
|
pixel_rate = link_freq_to_pixel_rate(link_freq, imx258->nlanes);
|
||
|
- __v4l2_ctrl_s_ctrl_int64(imx258->pixel_rate, pixel_rate);
|
||
|
+ __v4l2_ctrl_modify_range(imx258->pixel_rate, pixel_rate,
|
||
|
+ pixel_rate, 1, pixel_rate);
|
||
|
/* Update limits and set FPS to default */
|
||
|
vblank_def = imx258->cur_mode->vts_def -
|
||
|
imx258->cur_mode->height;
|
||
|
@@ -1516,8 +1517,7 @@ static int imx258_init_controls(struct i
|
||
|
struct v4l2_ctrl *vflip, *hflip;
|
||
|
s64 vblank_def;
|
||
|
s64 vblank_min;
|
||
|
- s64 pixel_rate_min;
|
||
|
- s64 pixel_rate_max;
|
||
|
+ s64 pixel_rate;
|
||
|
int ret;
|
||
|
|
||
|
ctrl_hdlr = &imx258->ctrl_handler;
|
||
|
@@ -1548,17 +1548,13 @@ static int imx258_init_controls(struct i
|
||
|
if (vflip)
|
||
|
vflip->flags |= V4L2_CTRL_FLAG_READ_ONLY;
|
||
|
|
||
|
- pixel_rate_max =
|
||
|
- link_freq_to_pixel_rate(imx258->link_freq_menu_items[0],
|
||
|
- imx258->nlanes);
|
||
|
- pixel_rate_min =
|
||
|
- link_freq_to_pixel_rate(imx258->link_freq_menu_items[1],
|
||
|
- imx258->nlanes);
|
||
|
+ pixel_rate = link_freq_to_pixel_rate(imx258->link_freq_menu_items[0],
|
||
|
+ imx258->nlanes);
|
||
|
/* By default, PIXEL_RATE is read only */
|
||
|
imx258->pixel_rate = v4l2_ctrl_new_std(ctrl_hdlr, &imx258_ctrl_ops,
|
||
|
V4L2_CID_PIXEL_RATE,
|
||
|
- pixel_rate_min, pixel_rate_max,
|
||
|
- 1, pixel_rate_max);
|
||
|
+ pixel_rate, pixel_rate,
|
||
|
+ 1, pixel_rate);
|
||
|
|
||
|
|
||
|
vblank_def = imx258->cur_mode->vts_def - imx258->cur_mode->height;
|