For the function of platform_get_irq(), the example in platform.c is * int irq = platform_get_irq(pdev, 0); * if (irq < 0) * return irq; So the return value of zero is unnecessary to check. And move it up to a little bit can simplify the code jump. Co-developed-by: Zhang Shengju <zhangshengju@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Zhang Shengju <zhangshengju@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tang Bin <tangbin@xxxxxxxxxxxxxxxxxxxx> --- drivers/iio/adc/fsl-imx25-gcq.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/iio/adc/fsl-imx25-gcq.c b/drivers/iio/adc/fsl-imx25-gcq.c index 8cb51cf7a..d28976f21 100644 --- a/drivers/iio/adc/fsl-imx25-gcq.c +++ b/drivers/iio/adc/fsl-imx25-gcq.c @@ -320,6 +320,10 @@ static int mx25_gcq_probe(struct platform_device *pdev) if (ret) return ret; + priv->irq = platform_get_irq(pdev, 0); + if (priv->irq < 0) + return priv->irq; + for (i = 0; i != 4; ++i) { if (!priv->vref[i]) continue; @@ -336,14 +340,6 @@ static int mx25_gcq_probe(struct platform_device *pdev) goto err_vref_disable; } - priv->irq = platform_get_irq(pdev, 0); - if (priv->irq <= 0) { - ret = priv->irq; - if (!ret) - ret = -ENXIO; - goto err_clk_unprepare; - } - ret = request_irq(priv->irq, mx25_gcq_irq, 0, pdev->name, priv); if (ret) { dev_err(dev, "Failed requesting IRQ\n"); -- 2.20.1.windows.1