media: i2c: ov4689: Drop check for reentrant .s_stream()
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Thu, 14 Sep 2023 18:16:29 +0000 (21:16 +0300)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 27 Sep 2023 07:39:58 +0000 (09:39 +0200)
The subdev .s_stream() operation shall not be called to start streaming
on an already started subdev, or stop streaming on a stopped subdev.
Remove the check that guards against that condition.

The streaming field of the driver's private structure is now unused,
drop it as well.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Mikhail Rudenko <mike.rudenko@gmail.com>
[Sakari Ailus: remove now-redundant "streaming" from comment.]
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/i2c/ov4689.c

index fda217d2cb10af78b3680c597fb0b95716269d85..3bd972a822e7ba8a80b44a2f68aba1aacffb4455 100644 (file)
@@ -99,8 +99,7 @@ struct ov4689 {
 
        u32 clock_rate;
 
-       struct mutex mutex; /* lock to protect streaming, ctrls and cur_mode */
-       bool streaming;
+       struct mutex mutex; /* lock to protect ctrls and cur_mode */
        struct v4l2_ctrl_handler ctrl_handler;
        struct v4l2_ctrl *exposure;
 
@@ -468,10 +467,6 @@ static int ov4689_s_stream(struct v4l2_subdev *sd, int on)
 
        mutex_lock(&ov4689->mutex);
 
-       on = !!on;
-       if (on == ov4689->streaming)
-               goto unlock_and_return;
-
        if (on) {
                ret = pm_runtime_resume_and_get(&client->dev);
                if (ret < 0)
@@ -504,8 +499,6 @@ static int ov4689_s_stream(struct v4l2_subdev *sd, int on)
                pm_runtime_put(&client->dev);
        }
 
-       ov4689->streaming = on;
-
 unlock_and_return:
        mutex_unlock(&ov4689->mutex);