mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
media: i2c: ov08d10: fix runtime PM handling in probe
Set the device's runtime PM status and enable runtime PM before registering
the async sub-device. This is needed to avoid the case where the device is
runtime PM resumed while runtime PM has not been enabled yet.
Remove the related, non-driver-specific comment while at it.
Fixes: 7be91e02ed ("media: i2c: Add ov08d10 camera sensor driver")
Cc: stable@vger.kernel.org
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Matthias Fend <matthias.fend@emfend.at>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
parent
b7efb57ac9
commit
35c7046be2
|
|
@ -1430,6 +1430,9 @@ static int ov08d10_probe(struct i2c_client *client)
|
|||
goto probe_error_v4l2_ctrl_handler_free;
|
||||
}
|
||||
|
||||
pm_runtime_set_active(ov08d10->dev);
|
||||
pm_runtime_enable(ov08d10->dev);
|
||||
|
||||
ret = v4l2_async_register_subdev_sensor(&ov08d10->sd);
|
||||
if (ret < 0) {
|
||||
dev_err(ov08d10->dev, "failed to register V4L2 subdev: %d",
|
||||
|
|
@ -1437,17 +1440,13 @@ static int ov08d10_probe(struct i2c_client *client)
|
|||
goto probe_error_media_entity_cleanup;
|
||||
}
|
||||
|
||||
/*
|
||||
* Device is already turned on by i2c-core with ACPI domain PM.
|
||||
* Enable runtime PM and turn off the device.
|
||||
*/
|
||||
pm_runtime_set_active(ov08d10->dev);
|
||||
pm_runtime_enable(ov08d10->dev);
|
||||
pm_runtime_idle(ov08d10->dev);
|
||||
|
||||
return 0;
|
||||
|
||||
probe_error_media_entity_cleanup:
|
||||
pm_runtime_disable(ov08d10->dev);
|
||||
pm_runtime_set_suspended(ov08d10->dev);
|
||||
media_entity_cleanup(&ov08d10->sd.entity);
|
||||
|
||||
probe_error_v4l2_ctrl_handler_free:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user