[PATCH 3/8] i2c: omap: Use devm_pm_runtime_enable() helper
From: Andrew Davis
Date: Fri Sep 04 2026 - 09:41:15 EST
Use device life-cycle managed runtime enable function to simplify probe
and exit paths. It will call pm_runtime_dont_use_autosuspend() for us.
Signed-off-by: Andrew Davis <afd@xxxxxx>
---
drivers/i2c/busses/i2c-omap.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 68b0a043f1e51..e03519d939755 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1376,13 +1376,13 @@ omap_i2c_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, omap);
init_completion(&omap->cmd_complete);
- pm_runtime_enable(omap->dev);
+ devm_pm_runtime_enable(omap->dev);
pm_runtime_set_autosuspend_delay(omap->dev, OMAP_I2C_PM_TIMEOUT);
pm_runtime_use_autosuspend(omap->dev);
r = pm_runtime_resume_and_get(omap->dev);
if (r < 0)
- goto err_disable_pm;
+ return r;
/*
* Read the Rev hi bit-[15:14] ie scheme this is 1 indicates ver2.
@@ -1496,9 +1496,6 @@ omap_i2c_probe(struct platform_device *pdev)
omap_i2c_write_reg(omap, OMAP_I2C_CON_REG, 0);
err_put_pm:
pm_runtime_put_sync(omap->dev);
-err_disable_pm:
- pm_runtime_dont_use_autosuspend(omap->dev);
- pm_runtime_disable(&pdev->dev);
return r;
}
@@ -1519,9 +1516,7 @@ static void omap_i2c_remove(struct platform_device *pdev)
else
omap_i2c_write_reg(omap, OMAP_I2C_CON_REG, 0);
- pm_runtime_dont_use_autosuspend(&pdev->dev);
pm_runtime_put_sync(&pdev->dev);
- pm_runtime_disable(&pdev->dev);
}
static int omap_i2c_runtime_suspend(struct device *dev)
--
2.39.2