soc: imx: gpcv2: move to more ideomatic error handling in probe
authorLucas Stach <l.stach@pengutronix.de>
Mon, 10 May 2021 04:00:33 +0000 (12:00 +0800)
committerShawn Guo <shawnguo@kernel.org>
Sun, 23 May 2021 02:57:16 +0000 (10:57 +0800)
Switch to "goto out..." error handling in domain driver probe to
avoid repeating all the error paths.

Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Tested-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/soc/imx/gpcv2.c

index db7e7fc..512e6f4 100644 (file)
@@ -502,18 +502,23 @@ static int imx_pgc_domain_probe(struct platform_device *pdev)
        ret = pm_genpd_init(&domain->genpd, NULL, true);
        if (ret) {
                dev_err(domain->dev, "Failed to init power domain\n");
-               imx_pgc_put_clocks(domain);
-               return ret;
+               goto out_put_clocks;
        }
 
        ret = of_genpd_add_provider_simple(domain->dev->of_node,
                                           &domain->genpd);
        if (ret) {
                dev_err(domain->dev, "Failed to add genpd provider\n");
-               pm_genpd_remove(&domain->genpd);
-               imx_pgc_put_clocks(domain);
+               goto out_genpd_remove;
        }
 
+       return 0;
+
+out_genpd_remove:
+       pm_genpd_remove(&domain->genpd);
+out_put_clocks:
+       imx_pgc_put_clocks(domain);
+
        return ret;
 }