Re: [PATCH 19/57] media: atomisp: Allow sensor drivers without a s_power callback

Andy Shevchenko
2023-01-23T17:49:30Z

On Mon, Jan 23, 2023 at 01:51:27PM +0100, Hans de Goede wrote:
> The s_power callback for v4l2-subdevs has been deprecated, allow sensor
> drivers without a s_power callback to work by ignoring the -ENOIOCTLCMD
> return value.

Reviewed-by: Andy Shevchenko <andy@kernel.org>

> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> drivers/staging/media/atomisp/pci/atomisp_fops.c | 2 +-
> drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/media/atomisp/pci/atomisp_fops.c b/drivers/staging/media/atomisp/pci/atomisp_fops.c
> index 833c7aac8f0a..ce01479bdd68 100644
> --- a/drivers/staging/media/atomisp/pci/atomisp_fops.c
> +++ b/drivers/staging/media/atomisp/pci/atomisp_fops.c
> @@ -832,7 +832,7 @@ static int atomisp_release(struct file *file)
> if (isp->inputs[asd->input_curr].asd == asd) {
> ret = v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
> core, s_power, 0);
> - if (ret)
> + if (ret && ret != -ENOIOCTLCMD)
> dev_warn(isp->dev, "Failed to power-off sensor\n");
>
> /* clear the asd field to show this camera is not used */
> diff --git a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
> index d0dd3dbd6f6a..77856cbc5ba7 100644
> --- a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
> +++ b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
> @@ -700,7 +700,7 @@ static int atomisp_s_input(struct file *file, void *fh, unsigned int input)
> asd->input_curr != input) {
> ret = v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
> core, s_power, 0);
> - if (ret)
> + if (ret && ret != -ENOIOCTLCMD)
> dev_warn(isp->dev,
> "Failed to power-off sensor\n");
> /* clear the asd field to show this camera is not used */
> @@ -709,7 +709,7 @@ static int atomisp_s_input(struct file *file, void *fh, unsigned int input)
>
> /* powe on the new sensor */
> ret = v4l2_subdev_call(isp->inputs[input].camera, core, s_power, 1);
> - if (ret) {
> + if (ret && ret != -ENOIOCTLCMD) {
> dev_err(isp->dev, "Failed to power-on sensor\n");
> return ret;
> }
> --
> 2.39.0
>

--
With Best Regards,
Andy Shevchenko