[PATCH] i2c: i2c-s3c2410: fix runtime PM cleanup
From: Jiawen Liu
Date: Tue Aug 18 2026 - 09:14:47 EST
Keep clock enabled until adapter teardown.
The remove path disables the controller clock before unregistering the
I2C adapter, so adapter teardown can run after the hardware clock has
already been turned off.
Move I2C teardown before clock release (pm_runtime_disable,
clk_unprepare) in s3c24xx_i2c_remove.
Signed-off-by: jiawen <1298662399@xxxxxx>
---
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -1136,11 +1136,9 @@
{
struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev);
+ i2c_del_adapter(&i2c->adap);
+ pm_runtime_disable(&pdev->dev);
clk_unprepare(i2c->clk);
-
- pm_runtime_disable(&pdev->dev);
-
- i2c_del_adapter(&i2c->adap);
}
static int s3c24xx_i2c_suspend_noirq(struct device *dev)