From: Zhi Mao Date: Sat, 12 Oct 2024 03:25:53 +0000 (+0800) Subject: media: i2c: dw9768: Use runtime PM autosuspend X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a745d7acc1ebf97c0302e7a56665e28735943cf5;p=users%2Fwilly%2Flinux.git media: i2c: dw9768: Use runtime PM autosuspend Use runtime PM autosuspend function to avoid rapid power state bouncing. Signed-off-by: Zhi Mao Signed-off-by: Sakari Ailus Signed-off-by: Hans Verkuil --- diff --git a/drivers/media/i2c/dw9768.c b/drivers/media/i2c/dw9768.c index 87a7c3ceeb11..3a4d100b9199 100644 --- a/drivers/media/i2c/dw9768.c +++ b/drivers/media/i2c/dw9768.c @@ -374,7 +374,8 @@ static int dw9768_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) static int dw9768_close(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) { - pm_runtime_put(sd->dev); + pm_runtime_mark_last_busy(sd->dev); + pm_runtime_put_autosuspend(sd->dev); return 0; } @@ -490,6 +491,8 @@ static int dw9768_probe(struct i2c_client *client) goto err_power_off; } + pm_runtime_set_autosuspend_delay(dev, 1000); + pm_runtime_use_autosuspend(dev); pm_runtime_idle(dev); return 0;