ASoC: sunxi: sun4i-i2s: Use dev_err_probe() for probe error handling

Use dev_err_probe() for probe error handling to simplify the error paths
and handle -EPROBE_DEFER correctly.

Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
Reviewed-by: Chen-Yu Tsai <wens@kernel.org>
Link: https://patch.msgid.link/20260715095525.40668-4-phucduc.bui@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
bui duc phuc 2026-07-15 16:55:22 +07:00 committed by Mark Brown
parent de6bda2088
commit 3e2262df84
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -1550,30 +1550,26 @@ static int sun4i_i2s_probe(struct platform_device *pdev)
}
i2s->bus_clk = devm_clk_get(&pdev->dev, "apb");
if (IS_ERR(i2s->bus_clk)) {
dev_err(&pdev->dev, "Can't get our bus clock\n");
return PTR_ERR(i2s->bus_clk);
}
if (IS_ERR(i2s->bus_clk))
return dev_err_probe(&pdev->dev, PTR_ERR(i2s->bus_clk),
"Can't get our bus clock\n");
i2s->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
i2s->variant->sun4i_i2s_regmap);
if (IS_ERR(i2s->regmap)) {
dev_err(&pdev->dev, "Regmap initialisation failed\n");
return PTR_ERR(i2s->regmap);
}
if (IS_ERR(i2s->regmap))
return dev_err_probe(&pdev->dev, PTR_ERR(i2s->regmap),
"Regmap initialisation failed\n");
i2s->mod_clk = devm_clk_get(&pdev->dev, "mod");
if (IS_ERR(i2s->mod_clk)) {
dev_err(&pdev->dev, "Can't get our mod clock\n");
return PTR_ERR(i2s->mod_clk);
}
if (IS_ERR(i2s->mod_clk))
return dev_err_probe(&pdev->dev, PTR_ERR(i2s->mod_clk),
"Can't get our mod clock\n");
if (i2s->variant->has_reset) {
i2s->rst = devm_reset_control_get_exclusive(&pdev->dev, NULL);
if (IS_ERR(i2s->rst)) {
dev_err(&pdev->dev, "Failed to get reset control\n");
return PTR_ERR(i2s->rst);
}
if (IS_ERR(i2s->rst))
return dev_err_probe(&pdev->dev, PTR_ERR(i2s->rst),
"Failed to get reset control\n");
}
if (!IS_ERR(i2s->rst)) {