Re: [PATCH] i2c: qcom-geni: Use devm_pm_runtime_enable() for PM management

From: Mukesh Savaliya

Date: Mon Jul 13 2026 - 00:41:37 EST



On 7/10/2026 5:59 PM, Konrad Dybcio wrote:
On 7/10/26 2:13 PM, Mukesh Kumar Savaliya wrote:
[...]

Changes:
- Replace pm_runtime_enable() with devm_pm_runtime_enable() in probe()
- Remove pm_runtime_disable() from remove() function
- Remove pm_runtime_disable() from probe() error paths after
geni_i2c_init() and i2c_add_adapter()
- Use 'dev' pointer consistently instead of 'gi2c->se.dev' for PM APIs

Drop this paragraph, describing changes like is unnecessary since
we can just infer this from the diff

Agree, will remove these bulleted points.

Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@xxxxxxxxxxxxxxxx>
---
drivers/i2c/busses/i2c-qcom-geni.c | 25 +++++++++++--------------
1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
index 96dbf04138be..6d6c2fa287ca 100644
--- a/drivers/i2c/busses/i2c-qcom-geni.c
+++ b/drivers/i2c/busses/i2c-qcom-geni.c
@@ -1126,27 +1126,25 @@ static int geni_i2c_probe(struct platform_device *pdev)
gi2c->adap.dev.of_node = dev->of_node;
strscpy(gi2c->adap.name, "Geni-I2C", sizeof(gi2c->adap.name));
- pm_runtime_set_suspended(gi2c->se.dev);
- pm_runtime_set_autosuspend_delay(gi2c->se.dev, I2C_AUTO_SUSPEND_DELAY);
- pm_runtime_use_autosuspend(gi2c->se.dev);
- pm_runtime_enable(gi2c->se.dev);
+ ret = devm_pm_runtime_enable(dev);
+ if (ret)
+ return ret;

This shifts the enabling of runpm> +
i had doubt, when i tested this, could not see any impact.
Thanks for the pointing and correcting.
+ pm_runtime_set_suspended(dev);
+ pm_runtime_set_autosuspend_delay(dev, I2C_AUTO_SUSPEND_DELAY);
+ pm_runtime_use_autosuspend(dev);


..which is wrong since:
yes, agreed.

/**
* pm_runtime_set_suspended - Set runtime PM status to "suspended".
* @dev: Target device.
*
* Set the runtime PM status of @dev to %RPM_SUSPENDED and ensure that
* dependencies of it will be taken into account.
*
* It is not valid to call this function for devices with runtime PM enabled.
*/


Konrad