media: atomisp: Simplify atomisp_pipe_check()
authorHans de Goede <hdegoede@redhat.com>
Thu, 11 May 2023 17:18:24 +0000 (18:18 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 9 Jun 2023 13:41:22 +0000 (14:41 +0100)
All switch (pipe->asd->streaming) cases in atomisp_pipe_check()
are either no-ops or never happen:

1. ATOMISP_DEVICE_STREAMING_DISABLED already is a no-op

2. The videobuf2 core guarantees that when we are streaming
vb2_is_busy() returns true. So the ATOMISP_DEVICE_STREAMING_ENABLED case
is already handled by the if above the switch (pipe->asd->streaming).

3. After recent changes pipe->asd->streaming is only ever set to
ATOMISP_DEVICE_STREAMING_STOPPING in atomisp_assert_recovery_work() and
that function holds isp->mutex and always transitions the streaming state
to ATOMISP_DEVICE_STREAMING_DISABLED or ATOMISP_DEVICE_STREAMING_ENABLED
before releasing the mutex. So atomisp_pipe_check() never sees
ATOMISP_DEVICE_STREAMING_STOPPING.

Remove the entire switch-case.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/pci/atomisp_ioctl.c

index 087ec51..08a3d98 100644 (file)
@@ -528,22 +528,6 @@ int atomisp_pipe_check(struct atomisp_video_pipe *pipe, bool settings_change)
                return -EBUSY;
        }
 
-       switch (pipe->asd->streaming) {
-       case ATOMISP_DEVICE_STREAMING_DISABLED:
-               break;
-       case ATOMISP_DEVICE_STREAMING_ENABLED:
-               if (settings_change) {
-                       dev_err(pipe->isp->dev, "Set fmt/input IOCTL while streaming\n");
-                       return -EBUSY;
-               }
-               break;
-       case ATOMISP_DEVICE_STREAMING_STOPPING:
-               dev_err(pipe->isp->dev, "IOCTL issued while stopping\n");
-               return -EBUSY;
-       default:
-               return -EINVAL;
-       }
-
        return 0;
 }