mirror of https://gitee.com/openkylin/linux.git
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: Anson Huang <Anson.Huang@nxp.com> Reviewed-by: Guido Günther <agx@sigxcpu.org> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
parent
9123e3a74e
commit
b663b798d0
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue