Re: [PATCH 1/3] i2c: designware: Enable async suspend / resume of designware devices

From: Jarkko Nikula
Date: Fri Oct 22 2021 - 07:37:43 EST


On 10/22/21 5:28 AM, Rajat Jain wrote:
Mark the designware devices for asynchronous suspend. With this, the
resume for designware devices does not get stuck behind other unrelated
devices (e.g. intel_backlight that takes hundreds of ms to resume,
waiting for its parent devices).

Signed-off-by: Rajat Jain <rajatja@xxxxxxxxxx>
---
drivers/i2c/busses/i2c-designware-platdrv.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
index 21113665ddea..2bd81abc86f6 100644
--- a/drivers/i2c/busses/i2c-designware-platdrv.c
+++ b/drivers/i2c/busses/i2c-designware-platdrv.c
@@ -293,6 +293,8 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
DPM_FLAG_MAY_SKIP_RESUME);
}
+ device_enable_async_suspend(&pdev->dev);
+
/* The code below assumes runtime PM to be disabled. */
WARN_ON(pm_runtime_enabled(&pdev->dev));
I guess same can be done to i2c_dw_pci_probe() too. I don't have any strong opinion should it be done in this patch or somewhere in the future.

Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>