Message ID | 20220215230737.1870630-10-djrscally@gmail.com |
---|---|
State | New |
Headers | show |
Series | [01/10] media: uapi: Add IPU3 packed Y10 format | expand |
Hi Daniel, On Tue, Feb 15, 2022 at 11:07:36PM +0000, Daniel Scally wrote: > The .s_power() callback is deprecated, and now that we have pm_runtime > functionality in the driver there's no further use for it. Delete the > function. > > Signed-off-by: Daniel Scally <djrscally@gmail.com> > --- > drivers/media/i2c/ov7251.c | 44 +------------------------------------- > 1 file changed, 1 insertion(+), 43 deletions(-) > > diff --git a/drivers/media/i2c/ov7251.c b/drivers/media/i2c/ov7251.c > index d620ed6a4e42..5e7422ca4ab9 100644 > --- a/drivers/media/i2c/ov7251.c > +++ b/drivers/media/i2c/ov7251.c > @@ -903,43 +903,6 @@ static int __maybe_unused ov7251_sensor_resume(struct device *dev) > return ov7251_set_power_on(ov7251); > } > > -static int ov7251_s_power(struct v4l2_subdev *sd, int on) > -{ > - struct ov7251 *ov7251 = to_ov7251(sd); > - int ret = 0; > - > - mutex_lock(&ov7251->lock); > - > - /* If the power state is not modified - no work to do. */ > - if (ov7251->power_on == !!on) > - goto exit; > - > - if (on) { > - ret = ov7251_set_power_on(ov7251); > - if (ret < 0) > - goto exit; > - > - ret = ov7251_set_register_array(ov7251, > - ov7251_global_init_setting, > - ARRAY_SIZE(ov7251_global_init_setting)); Could this be written as part of the power-on sequence after identifying the sensor? Likewise in probe() if it's possible the device won't be powered down before it gets used --- I guess nothing rules that out? > - if (ret < 0) { > - dev_err(ov7251->dev, "could not set init registers\n"); > - ov7251_set_power_off(ov7251); > - goto exit; > - } > - > - ov7251->power_on = true; > - } else { > - ov7251_set_power_off(ov7251); > - ov7251->power_on = false; > - } > - > -exit: > - mutex_unlock(&ov7251->lock); > - > - return ret; > -} > - > static int ov7251_set_hflip(struct ov7251 *ov7251, s32 value) > { > u8 val = ov7251->timing_format2; > @@ -1384,10 +1347,6 @@ static int ov7251_set_frame_interval(struct v4l2_subdev *subdev, > return ret; > } > > -static const struct v4l2_subdev_core_ops ov7251_core_ops = { > - .s_power = ov7251_s_power, > -}; > - > static const struct v4l2_subdev_video_ops ov7251_video_ops = { > .s_stream = ov7251_s_stream, > .g_frame_interval = ov7251_get_frame_interval, > @@ -1405,7 +1364,6 @@ static const struct v4l2_subdev_pad_ops ov7251_subdev_pad_ops = { > }; > > static const struct v4l2_subdev_ops ov7251_subdev_ops = { > - .core = &ov7251_core_ops, > .video = &ov7251_video_ops, > .pad = &ov7251_subdev_pad_ops, > }; > @@ -1690,7 +1648,7 @@ static int ov7251_probe(struct i2c_client *client) > pm_runtime_disable(ov7251->dev); > pm_runtime_put_noidle(ov7251->dev); > power_down: > - ov7251_s_power(&ov7251->sd, false); > + ov7251_set_power_off(ov7251); > free_entity: > media_entity_cleanup(&ov7251->sd.entity); > free_ctrl:
diff --git a/drivers/media/i2c/ov7251.c b/drivers/media/i2c/ov7251.c index d620ed6a4e42..5e7422ca4ab9 100644 --- a/drivers/media/i2c/ov7251.c +++ b/drivers/media/i2c/ov7251.c @@ -903,43 +903,6 @@ static int __maybe_unused ov7251_sensor_resume(struct device *dev) return ov7251_set_power_on(ov7251); } -static int ov7251_s_power(struct v4l2_subdev *sd, int on) -{ - struct ov7251 *ov7251 = to_ov7251(sd); - int ret = 0; - - mutex_lock(&ov7251->lock); - - /* If the power state is not modified - no work to do. */ - if (ov7251->power_on == !!on) - goto exit; - - if (on) { - ret = ov7251_set_power_on(ov7251); - if (ret < 0) - goto exit; - - ret = ov7251_set_register_array(ov7251, - ov7251_global_init_setting, - ARRAY_SIZE(ov7251_global_init_setting)); - if (ret < 0) { - dev_err(ov7251->dev, "could not set init registers\n"); - ov7251_set_power_off(ov7251); - goto exit; - } - - ov7251->power_on = true; - } else { - ov7251_set_power_off(ov7251); - ov7251->power_on = false; - } - -exit: - mutex_unlock(&ov7251->lock); - - return ret; -} - static int ov7251_set_hflip(struct ov7251 *ov7251, s32 value) { u8 val = ov7251->timing_format2; @@ -1384,10 +1347,6 @@ static int ov7251_set_frame_interval(struct v4l2_subdev *subdev, return ret; } -static const struct v4l2_subdev_core_ops ov7251_core_ops = { - .s_power = ov7251_s_power, -}; - static const struct v4l2_subdev_video_ops ov7251_video_ops = { .s_stream = ov7251_s_stream, .g_frame_interval = ov7251_get_frame_interval, @@ -1405,7 +1364,6 @@ static const struct v4l2_subdev_pad_ops ov7251_subdev_pad_ops = { }; static const struct v4l2_subdev_ops ov7251_subdev_ops = { - .core = &ov7251_core_ops, .video = &ov7251_video_ops, .pad = &ov7251_subdev_pad_ops, }; @@ -1690,7 +1648,7 @@ static int ov7251_probe(struct i2c_client *client) pm_runtime_disable(ov7251->dev); pm_runtime_put_noidle(ov7251->dev); power_down: - ov7251_s_power(&ov7251->sd, false); + ov7251_set_power_off(ov7251); free_entity: media_entity_cleanup(&ov7251->sd.entity); free_ctrl:
The .s_power() callback is deprecated, and now that we have pm_runtime functionality in the driver there's no further use for it. Delete the function. Signed-off-by: Daniel Scally <djrscally@gmail.com> --- drivers/media/i2c/ov7251.c | 44 +------------------------------------- 1 file changed, 1 insertion(+), 43 deletions(-)