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:
Hans de Goede
2024-04-11 18:47:41 +01:00
committed by Mauro Carvalho Chehab
parent 1a1ce0c308
commit 2bcbeeb297

View File

@@ -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);
}