]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
i2c: qcom-cci: Remove overcautious disable_irq() calls
authorVladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Fri, 15 May 2026 23:41:21 +0000 (02:41 +0300)
committerAndi Shyti <andi.shyti@kernel.org>
Tue, 16 Jun 2026 12:40:00 +0000 (14:40 +0200)
In cci_probe() the controller's interrupt is requested using a devres
managed API, and in cci_probe() error path and cci_remove() it'd be
safe to rely on devres mechanism to free and shutdown the interrupt,
thus explicit disable_irq() calls can be removed as unnecessary ones.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260515234121.1607425-5-vladimir.zapolskiy@linaro.org
drivers/i2c/busses/i2c-qcom-cci.c

index 2d73903f14d35fd64ee7b65a3b16b2812ba96e39..4d64895a9e9e4e0bd5e0ccb5c3cc04b282b1e4d5 100644 (file)
@@ -608,7 +608,7 @@ static int cci_probe(struct platform_device *pdev)
 
        ret = cci_reset(cci);
        if (ret < 0)
-               goto error;
+               goto disable_clocks;
 
        pm_runtime_set_autosuspend_delay(dev, MSEC_PER_SEC);
        pm_runtime_use_autosuspend(dev);
@@ -638,8 +638,6 @@ error_i2c:
                        of_node_put(cci->master[i].adap.dev.of_node);
                }
        }
-error:
-       disable_irq(cci->irq);
 disable_clocks:
        cci_disable_clocks(cci);
 
@@ -659,7 +657,6 @@ static void cci_remove(struct platform_device *pdev)
                }
        }
 
-       disable_irq(cci->irq);
        pm_runtime_disable(&pdev->dev);
        pm_runtime_set_suspended(&pdev->dev);
 }