mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
ASoC: xilinx: xlnx_spdif: Use dev_err_probe() and drop redundant error handling
Use dev_err_probe() for probe error handling where appropriate to simplify the code and properly handle deferred probe. Also remove redundant error messages when the called helper already reports failures, returning the error directly to avoid duplicate logging. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Reviewed-by: Michal Simek <michal.simek@amd.com> Link: https://patch.msgid.link/20260710102138.29347-4-phucduc.bui@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
cb32e3acb1
commit
f9620327ba
|
|
@ -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 {
|
||||
|
|
@ -282,19 +279,15 @@ static int xlnx_spdif_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user