media updates for v6.2-rc1
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+QmuaPwR3wnBdVwACF8+vY7k4RUFAmOi6/IACgkQCF8+vY7k 4RVitA//aYDptb3NLZu1eRdEepu+GUQs+gzUQW7L7wP6k1DFEhAm6KyiS/tvNQTb 3cIf16ACPOsDQC+R032RFG5nMCCPxPYyXmhVOQ4kLH54a8r6p7b38pMaNbAQlqBP ZjpfvWfnxrzyb8cNc90r9npo/K6Yq+JLkNRGYopr5FgUXQqRhhG1G9afYlB9GlWB /xgt8lgYBGAS39haZAj8ctOaPsMBBZQzrwDUKdKdE7PXPiFOqF2QfVHkr+UJyl8G KUtpVOeuO1Voqfr3MM0LRvSMlTOGT3+xFZgi7pLeP3AplrDX0fUTYd3jqwL8ATfU 60aCyl42zaJLMGCpVvw2qL8g1jF0mCcfgBSXDUyO4YcU5bXUHBuxHIfColCIE9UP iSG5+5RzXTpQEWWGlZINzvFblwQ9526WhPJw29d6pvoEKFHUK/SP7UeLChQpVv3A N8gwAIksAWJdu1P0V2W5oaMlt4H6XMkBoyM+I5aWeMA5udJu4zU0JPij2nJpQQ6W BOLBUKl/HKDKzzl3hs5HHRTxXQcI8qqmBabdeO9jimt4EWWP/N88u+roHLAxwVQL L2J4D4bxCa071UW2mn+GCWR3IgNSmTKRac1YYXQ6hLlyZfvvwqDM/rwPdNAGui01 wKLLwCoycK2s+379Onkg49AXx3bdGfu+ui1s+8SPmRtJHNAwpjg= =eOMl -----END PGP SIGNATURE----- Merge tag 'media/v6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/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
This commit is contained in:
commit
5461e07900
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
@ -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) {
|
||||
|
@ -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 */
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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,
|
||||
};
|
||||
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user