diff options
| author | Artem Shimko <a.shimko.dev@gmail.com> | 2026-01-30 14:10:37 +0300 |
|---|---|---|
| committer | Andi Shyti <andi.shyti@kernel.org> | 2026-02-05 11:28:22 +0100 |
| commit | 9eb9f7c304f7a17fd5e3bfa462a36e77dbf2a3e4 (patch) | |
| tree | f48bac67a43310096d7eb03953e38359e1d42900 /drivers/i2c/busses | |
| parent | 78821a753fc911a64b5bccc44cb13fd7203aea13 (diff) | |
| download | lwn-9eb9f7c304f7a17fd5e3bfa462a36e77dbf2a3e4.tar.gz lwn-9eb9f7c304f7a17fd5e3bfa462a36e77dbf2a3e4.zip | |
i2c: designware-platdrv: fix cleanup on probe failure
Simplify the error handling in dw_i2c_plat_probe() by consolidating
cleanup operations directly in the error path instead of using a
goto label.
This eliminates the goto statement, makes the error handling more
transparent, and reduces code indirection while maintaining identical
cleanup behavior on probe failure.
Signed-off-by: Artem Shimko <a.shimko.dev@gmail.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260130111039.874548-3-a.shimko.dev@gmail.com
Diffstat (limited to 'drivers/i2c/busses')
| -rw-r--r-- | drivers/i2c/busses/i2c-designware-platdrv.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index f591da26916f..426ffec06e22 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -225,14 +225,11 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) pm_runtime_enable(device); ret = i2c_dw_probe(dev); - if (ret) - goto exit_probe; - - return ret; + if (ret) { + dw_i2c_plat_pm_cleanup(dev); + i2c_dw_prepare_clk(dev, false); + } -exit_probe: - dw_i2c_plat_pm_cleanup(dev); - i2c_dw_prepare_clk(dev, false); return ret; } |
