summaryrefslogtreecommitdiff
path: root/drivers/media/i2c/dw9768.c
diff options
context:
space:
mode:
authorBingbu Cao <bingbu.cao@intel.com>2021-10-15 09:08:39 +0300
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2021-11-15 11:11:34 +0300
commitc09d776eaa060534a1663e3b89d842db3e1d9076 (patch)
tree54f91b3fb80954c120ac3ceff05acaa3916b6409 /drivers/media/i2c/dw9768.c
parent2a998392403f746e9320c3b836303f8720651e5c (diff)
downloadlinux-c09d776eaa060534a1663e3b89d842db3e1d9076.tar.xz
media: dw9768: activate runtime PM and turn off device
When dw9768 working with ACPI systems, the dw9768 was turned by i2c-core during probe, driver need activate the PM runtime and ask runtime PM to turn off the device. Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/i2c/dw9768.c')
-rw-r--r--drivers/media/i2c/dw9768.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/i2c/dw9768.c b/drivers/media/i2c/dw9768.c
index c086580efac7..65c6acf3ced9 100644
--- a/drivers/media/i2c/dw9768.c
+++ b/drivers/media/i2c/dw9768.c
@@ -469,6 +469,11 @@ static int dw9768_probe(struct i2c_client *client)
dw9768->sd.entity.function = MEDIA_ENT_F_LENS;
+ /*
+ * Device is already turned on by i2c-core with ACPI domain PM.
+ * Attempt to turn off the device to satisfy the privacy LED concerns.
+ */
+ pm_runtime_set_active(dev);
pm_runtime_enable(dev);
if (!pm_runtime_enabled(dev)) {
ret = dw9768_runtime_resume(dev);
@@ -483,6 +488,7 @@ static int dw9768_probe(struct i2c_client *client)
dev_err(dev, "failed to register V4L2 subdev: %d", ret);
goto err_power_off;
}
+ pm_runtime_idle(dev);
return 0;