@@ -1065,7 +1065,6 @@ static const struct v4l2_ctrl_ops mt9m111_ctrl_ops = {
};
static const struct v4l2_subdev_core_ops mt9m111_subdev_core_ops = {
- .s_power = mt9m111_s_power,
.log_status = v4l2_ctrl_subdev_log_status,
.subscribe_event = v4l2_ctrl_subdev_subscribe_event,
.unsubscribe_event = v4l2_event_subdev_unsubscribe,
@@ -1136,8 +1135,14 @@ static int mt9m111_enum_mbus_code(struct v4l2_subdev *sd,
static int mt9m111_s_stream(struct v4l2_subdev *sd, int enable)
{
struct mt9m111 *mt9m111 = container_of(sd, struct mt9m111, subdev);
+ int ret;
mt9m111->is_streaming = !!enable;
+
+ ret = mt9m111_s_power(sd, enable);
+ if (ret)
+ return ret;
+
return 0;
}
This is in preparation of switching to the generic dev PM mechanism. Since the .s_power callback will be removed in the near future move the powering into the .s_stream callback. So this driver no longer depends on the .s_power mechanism. Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> --- drivers/media/i2c/mt9m111.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)