[PATCH 06/10] i2c: designware-platdrv: Update runtime PM last busy mark in ->probe()
Jarkko Nikula
jarkko.nikula at linux.intel.com
Wed Jun 15 06:22:31 PDT 2016
On 06/14/2016 06:07 PM, Ulf Hansson wrote:
> To avoid the device to be immediately runtime suspended when ->probe()
> returns, update the last busy mark to use the delay from autosuspend.
>
> Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>
> ---
> drivers/i2c/busses/i2c-designware-platdrv.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
> index 4083376..106856f 100644
> --- a/drivers/i2c/busses/i2c-designware-platdrv.c
> +++ b/drivers/i2c/busses/i2c-designware-platdrv.c
> @@ -253,6 +253,7 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
> if (dev->pm_runtime_disabled)
> pm_runtime_put_noidle(&pdev->dev);
> }
> + pm_runtime_mark_last_busy(&pdev->dev);
> pm_runtime_put(&pdev->dev);
>
I was thinking this too earlier shortly while doing cd998ded5c12 ("i2c:
designware: Prevent runtime suspend during adapter registration") but
decided to keep suspending immediately after probe is better in cases
when there are no slaves connected to a bus or if they start
communicating after host auto-suspend timeout has already fired.
But I don't have strong opinion against this.
--
Jarkko
More information about the linux-arm-kernel
mailing list