ASoC: xilinx: xlnx_i2s: Use dev_err_probe() and drop redundant error handling

bui duc phuc <phucduc.bui@gmail.com> says:

It replaces dev_err() followed by return with dev_err_probe() where
appropriate in probe paths, allowing deferred probe to be handled
correctly while simplifying the code.
It also removes redundant dev_err() calls after helper functions that
already report failures, avoiding duplicate error messages.

Link: https://patch.msgid.link/20260710102138.29347-1-phucduc.bui@gmail.com
This commit is contained in:
Mark Brown 2026-07-10 13:31:43 +01:00
commit 83800132cd
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
2 changed files with 18 additions and 31 deletions

View File

@ -185,17 +185,15 @@ static int xlnx_i2s_probe(struct platform_device *pdev)
return PTR_ERR(drv_data->base);
ret = of_property_read_u32(node, "xlnx,num-channels", &drv_data->channels);
if (ret < 0) {
dev_err(dev, "cannot get supported channels\n");
return ret;
}
if (ret < 0)
return dev_err_probe(dev, ret, "cannot get supported channels\n");
drv_data->channels *= 2;
ret = of_property_read_u32(node, "xlnx,dwidth", &drv_data->data_width);
if (ret < 0) {
dev_err(dev, "cannot get data width\n");
return ret;
}
if (ret < 0)
return dev_err_probe(dev, ret, "cannot get data width\n");
switch (drv_data->data_width) {
case 16:
format = SNDRV_PCM_FMTBIT_S16_LE;
@ -233,10 +231,8 @@ static int xlnx_i2s_probe(struct platform_device *pdev)
ret = devm_snd_soc_register_component(&pdev->dev, &xlnx_i2s_component,
&drv_data->dai_drv, 1);
if (ret) {
dev_err(&pdev->dev, "i2s component registration failed\n");
if (ret)
return ret;
}
dev_info(&pdev->dev, "%s DAI registered\n", drv_data->dai_drv.name);

View File

@ -249,21 +249,18 @@ static int xlnx_spdif_probe(struct platform_device *pdev)
return -ENOMEM;
ctx->axi_clk = devm_clk_get_enabled(dev, "s_axi_aclk");
if (IS_ERR(ctx->axi_clk)) {
ret = PTR_ERR(ctx->axi_clk);
dev_err(dev, "failed to get s_axi_aclk(%d)\n", ret);
return ret;
}
if (IS_ERR(ctx->axi_clk))
return dev_err_probe(dev, PTR_ERR(ctx->axi_clk),
"failed to get s_axi_aclk\n");
ctx->base = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(ctx->base))
return PTR_ERR(ctx->base);
ret = of_property_read_u32(node, "xlnx,spdif-mode", &ctx->mode);
if (ret < 0) {
dev_err(dev, "cannot get SPDIF mode\n");
return ret;
}
if (ret < 0)
return dev_err_probe(dev, ret, "cannot get SPDIF mode\n");
if (ctx->mode) {
dai_drv = &xlnx_spdif_tx_dai;
} else {
@ -274,29 +271,23 @@ static int xlnx_spdif_probe(struct platform_device *pdev)
ret = devm_request_irq(dev, ret,
xlnx_spdifrx_irq_handler,
0, "XLNX_SPDIF_RX", ctx);
if (ret) {
dev_err(dev, "spdif rx irq request failed\n");
return -ENODEV;
}
if (ret)
return ret;
init_waitqueue_head(&ctx->chsts_q);
dai_drv = &xlnx_spdif_rx_dai;
}
ret = of_property_read_u32(node, "xlnx,aud_clk_i", &ctx->aclk);
if (ret < 0) {
dev_err(dev, "cannot get aud_clk_i value\n");
return ret;
}
if (ret < 0)
return dev_err_probe(dev, ret, "cannot get aud_clk_i value\n");
dev_set_drvdata(dev, ctx);
ret = devm_snd_soc_register_component(dev, &xlnx_spdif_component,
dai_drv, 1);
if (ret) {
dev_err(dev, "SPDIF component registration failed\n");
if (ret)
return ret;
}
writel(XSPDIF_SOFT_RESET_VALUE, ctx->base + XSPDIF_SOFT_RESET_REG);
dev_info(dev, "%s DAI registered\n", dai_drv->name);