media: atomisp: Simplify atomisp_s_input() input argument checking
Simplify the checking of the input argument to atomisp_s_input(): - Remove the check for input >= ATOM_ISP_MAX_INPUTS, input_cnt never is > ATOM_ISP_MAX_INPUTS so checking only that is sufficient - Remove the unnecessary camera local variable - Move the 2 invalid argument checks to above the atomisp_pipe_check() which checks if the pipe is busy or not Reviewed-by: Andy Shevchenko <andy@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
1a1ce0c308
commit
2bcbeeb297
@@ -449,24 +449,18 @@ static int atomisp_s_input(struct file *file, void *fh, unsigned int input)
|
||||
struct video_device *vdev = video_devdata(file);
|
||||
struct atomisp_device *isp = video_get_drvdata(vdev);
|
||||
struct atomisp_video_pipe *pipe = atomisp_to_video_pipe(vdev);
|
||||
struct v4l2_subdev *camera = NULL;
|
||||
int ret;
|
||||
|
||||
if (input >= isp->input_cnt)
|
||||
return -EINVAL;
|
||||
|
||||
if (!isp->inputs[input].camera)
|
||||
return -EINVAL;
|
||||
|
||||
ret = atomisp_pipe_check(pipe, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (input >= ATOM_ISP_MAX_INPUTS || input >= isp->input_cnt) {
|
||||
dev_dbg(isp->dev, "input_cnt: %d\n", isp->input_cnt);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
camera = isp->inputs[input].camera;
|
||||
if (!camera) {
|
||||
dev_err(isp->dev, "%s, no camera\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return atomisp_select_input(isp, input);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user