Skip to content

Commit

Permalink
Merge tag 'media/v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/mchehab/linux-media

Pull media fixes from Mauro Carvalho Chehab:

 - A regression at V4L2 core breaking string controls

 - Build warning fixes on sun6i drivers when building with clang

* tag 'media/v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
  media: sun6i-isp: params: Unregister pending buffer on cleanup
  media: sun6i-isp: params: Fix incorrect indentation
  media: sun6i-isp: capture: Fix uninitialized variable use
  media: sun6i-isp: proc: Declare subdev ops as static
  media: sun6i-isp: proc: Error out on invalid port to fix warning
  media: sun6i-isp: proc: Fix return code handling in stream off path
  media: sun8i-a83t-mipi-csi2: Clarify return code handling in stream off path
  media: sun6i-mipi-csi2: Clarify return code handling in stream off path
  media: sun6i-csi: capture: Remove useless ret initialization
  media: sun6i-csi: bridge: Error out on invalid port to fix warning
  media: v4l2-ctrls-api.c: add back dropped ctrl->is_new = 1
  • Loading branch information
Linus Torvalds committed Dec 21, 2022
2 parents 7a693ea + 542d3c0 commit 5461e07
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 16 deletions.
2 changes: 1 addition & 1 deletion drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_bridge.c
Original file line number Diff line number Diff line change
Expand Up @@ -663,7 +663,7 @@ sun6i_csi_bridge_notifier_bound(struct v4l2_async_notifier *notifier,
enabled = !bridge->source_parallel.expected;
break;
default:
break;
return -EINVAL;
}

source->subdev = remote_subdev;
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ static int sun6i_csi_capture_open(struct file *file)
{
struct sun6i_csi_device *csi_dev = video_drvdata(file);
struct sun6i_csi_capture *capture = &csi_dev->capture;
int ret = 0;
int ret;

if (mutex_lock_interruptible(&capture->lock))
return -ERESTARTSYS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,8 @@ static int sun6i_mipi_csi2_s_stream(struct v4l2_subdev *subdev, int on)
return -ENODEV;

if (!on) {
ret = v4l2_subdev_call(source_subdev, video, s_stream, 0);
v4l2_subdev_call(source_subdev, video, s_stream, 0);
ret = 0;
goto disable;
}

Expand Down Expand Up @@ -280,8 +281,6 @@ static int sun6i_mipi_csi2_s_stream(struct v4l2_subdev *subdev, int on)
return 0;

disable:
if (!on)
ret = 0;
phy_power_off(dphy);
sun6i_mipi_csi2_disable(csi2_dev);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,8 @@ static int sun8i_a83t_mipi_csi2_s_stream(struct v4l2_subdev *subdev, int on)
return -ENODEV;

if (!on) {
ret = v4l2_subdev_call(source_subdev, video, s_stream, 0);
v4l2_subdev_call(source_subdev, video, s_stream, 0);
ret = 0;
goto disable;
}

Expand Down Expand Up @@ -312,8 +313,6 @@ static int sun8i_a83t_mipi_csi2_s_stream(struct v4l2_subdev *subdev, int on)
return 0;

disable:
if (!on)
ret = 0;
phy_power_off(dphy);
sun8i_a83t_mipi_csi2_disable(csi2_dev);

Expand Down
1 change: 1 addition & 0 deletions drivers/media/v4l2-core/v4l2-ctrls-api.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ static int user_to_new(struct v4l2_ext_control *c, struct v4l2_ctrl *ctrl)
* then return an error.
*/
if (strlen(ctrl->p_new.p_char) == ctrl->maximum && last)
ctrl->is_new = 1;
return -ERANGE;
}
return ret;
Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ sun6i_isp_capture_buffer_configure(struct sun6i_isp_device *isp_dev,
void sun6i_isp_capture_configure(struct sun6i_isp_device *isp_dev)
{
unsigned int width, height;
unsigned int stride_luma, stride_chroma = 0;
unsigned int stride_luma_div4, stride_chroma_div4;
unsigned int stride_luma, stride_chroma;
unsigned int stride_luma_div4, stride_chroma_div4 = 0;
const struct sun6i_isp_capture_format *format;
const struct v4l2_format_info *info;
u32 pixelformat;
Expand Down
6 changes: 4 additions & 2 deletions drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ void sun6i_isp_params_configure(struct sun6i_isp_device *isp_dev)
if (state->configured)
goto complete;

sun6i_isp_params_configure_modules(isp_dev,
&sun6i_isp_params_config_default);
sun6i_isp_params_configure_modules(isp_dev,
&sun6i_isp_params_config_default);

state->configured = true;

Expand All @@ -208,6 +208,8 @@ static void sun6i_isp_params_state_cleanup(struct sun6i_isp_device *isp_dev,
vb2_buffer = &state->pending->v4l2_buffer.vb2_buf;
vb2_buffer_done(vb2_buffer, error ? VB2_BUF_STATE_ERROR :
VB2_BUF_STATE_QUEUED);

state->pending = NULL;
}

list_for_each_entry(isp_buffer, &state->queue, list) {
Expand Down
8 changes: 4 additions & 4 deletions drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,7 @@ static int sun6i_isp_proc_s_stream(struct v4l2_subdev *subdev, int on)
struct sun6i_isp_proc_source *source;
struct v4l2_subdev *source_subdev;
struct media_pad *remote_pad;
/* Initialize to 0 to use both in disable label (ret != 0) and off. */
int ret = 0;
int ret;

/* Source */

Expand All @@ -195,6 +194,7 @@ static int sun6i_isp_proc_s_stream(struct v4l2_subdev *subdev, int on)
if (!on) {
sun6i_isp_proc_irq_disable(isp_dev);
v4l2_subdev_call(source_subdev, video, s_stream, 0);
ret = 0;
goto disable;
}

Expand Down Expand Up @@ -342,7 +342,7 @@ static const struct v4l2_subdev_pad_ops sun6i_isp_proc_pad_ops = {
.set_fmt = sun6i_isp_proc_set_fmt,
};

const struct v4l2_subdev_ops sun6i_isp_proc_subdev_ops = {
static const struct v4l2_subdev_ops sun6i_isp_proc_subdev_ops = {
.video = &sun6i_isp_proc_video_ops,
.pad = &sun6i_isp_proc_pad_ops,
};
Expand Down Expand Up @@ -416,7 +416,7 @@ static int sun6i_isp_proc_notifier_bound(struct v4l2_async_notifier *notifier,
enabled = !proc->source_csi0.expected;
break;
default:
break;
return -EINVAL;
}

source->subdev = remote_subdev;
Expand Down

0 comments on commit 5461e07

Please sign in to comment.