mirror of
https://github.com/torvalds/linux
synced 2024-10-05 19:02:12 +00:00
media: i2c: ov13b10: Drop stream handling in runtime PM handlers
The sensor is guaranteed not to be streaming when the runtime PM resume handler is called, as the resume handler is only called from the .s_stream() operation when starting streaming. Similarly, the sensor has been stopped when the runtime PM suspend handler is called. There is thus no need for manual stream start/stop from the runtime PM handlers. Drop them. 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> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
55e941d06a
commit
5c873f079d
|
@ -650,9 +650,6 @@ struct ov13b10 {
|
|||
/* Mutex for serialized access */
|
||||
struct mutex mutex;
|
||||
|
||||
/* Streaming on/off */
|
||||
bool streaming;
|
||||
|
||||
/* True if the device has been identified */
|
||||
bool identified;
|
||||
};
|
||||
|
@ -1235,7 +1232,6 @@ static int ov13b10_set_stream(struct v4l2_subdev *sd, int enable)
|
|||
pm_runtime_put(&client->dev);
|
||||
}
|
||||
|
||||
ov13b->streaming = enable;
|
||||
mutex_unlock(&ov13b->mutex);
|
||||
|
||||
return ret;
|
||||
|
@ -1250,12 +1246,6 @@ static int ov13b10_set_stream(struct v4l2_subdev *sd, int enable)
|
|||
|
||||
static int ov13b10_suspend(struct device *dev)
|
||||
{
|
||||
struct v4l2_subdev *sd = dev_get_drvdata(dev);
|
||||
struct ov13b10 *ov13b = to_ov13b10(sd);
|
||||
|
||||
if (ov13b->streaming)
|
||||
ov13b10_stop_streaming(ov13b);
|
||||
|
||||
ov13b10_power_off(dev);
|
||||
|
||||
return 0;
|
||||
|
@ -1263,29 +1253,7 @@ static int ov13b10_suspend(struct device *dev)
|
|||
|
||||
static int ov13b10_resume(struct device *dev)
|
||||
{
|
||||
struct v4l2_subdev *sd = dev_get_drvdata(dev);
|
||||
struct ov13b10 *ov13b = to_ov13b10(sd);
|
||||
int ret;
|
||||
|
||||
ret = ov13b10_power_on(dev);
|
||||
if (ret)
|
||||
goto pm_fail;
|
||||
|
||||
if (ov13b->streaming) {
|
||||
ret = ov13b10_start_streaming(ov13b);
|
||||
if (ret)
|
||||
goto stop_streaming;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
stop_streaming:
|
||||
ov13b10_stop_streaming(ov13b);
|
||||
ov13b10_power_off(dev);
|
||||
pm_fail:
|
||||
ov13b->streaming = false;
|
||||
|
||||
return ret;
|
||||
return ov13b10_power_on(dev);
|
||||
}
|
||||
|
||||
static const struct v4l2_subdev_video_ops ov13b10_video_ops = {
|
||||
|
|
Loading…
Reference in a new issue