Commit b663b798 authored by Anson Huang's avatar Anson Huang Committed by Shawn Guo
Browse files

soc: imx: gpcv2: Use dev_err_probe() to simplify error handling



dev_err_probe() can reduce code size, uniform error handling and record the
defer probe reason etc., use it to simplify the code.

Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
Reviewed-by: default avatarGuido Günther <agx@sigxcpu.org>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 9123e3a7
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -487,22 +487,17 @@ static int imx_pgc_domain_probe(struct platform_device *pdev)

	domain->regulator = devm_regulator_get_optional(domain->dev, "power");
	if (IS_ERR(domain->regulator)) {
		if (PTR_ERR(domain->regulator) != -ENODEV) {
			if (PTR_ERR(domain->regulator) != -EPROBE_DEFER)
				dev_err(domain->dev, "Failed to get domain's regulator\n");
			return PTR_ERR(domain->regulator);
		}
		if (PTR_ERR(domain->regulator) != -ENODEV)
			return dev_err_probe(domain->dev, PTR_ERR(domain->regulator),
					     "Failed to get domain's regulator\n");
	} else if (domain->voltage) {
		regulator_set_voltage(domain->regulator,
				      domain->voltage, domain->voltage);
	}

	ret = imx_pgc_get_clocks(domain);
	if (ret) {
		if (ret != -EPROBE_DEFER)
			dev_err(domain->dev, "Failed to get domain's clocks\n");
		return ret;
	}
	if (ret)
		return dev_err_probe(domain->dev, ret, "Failed to get domain's clocks\n");

	ret = pm_genpd_init(&domain->genpd, NULL, true);
	if (ret) {