[PATCH 3/6] ASoC: sunxi: sun4i-i2s: Use dev_err_probe() for probe error handling

From: phucduc . bui

Date: Wed Jul 15 2026 - 05:58:21 EST


From: bui duc phuc <phucduc.bui@xxxxxxxxx>

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@xxxxxxxxx>
---
sound/soc/sunxi/sun4i-i2s.c | 28 ++++++++++++----------------
1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index 40de99a34bc3..716fa4d872ff 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -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)) {
--
2.43.0