diff --git a/sound/soc/rockchip/rk3288_hdmi_analog.c b/sound/soc/rockchip/rk3288_hdmi_analog.c index cf642a23c38a..541163ed56fc 100644 --- a/sound/soc/rockchip/rk3288_hdmi_analog.c +++ b/sound/soc/rockchip/rk3288_hdmi_analog.c @@ -185,10 +185,8 @@ static int snd_rk_mc_probe(struct platform_device *pdev) gpiod_set_consumer_name(machine->gpio_hp_en, "hp_en"); ret = snd_soc_of_parse_card_name(card, "rockchip,model"); - if (ret) { - dev_err(card->dev, "SoC parse card name failed %d\n", ret); + if (ret) return ret; - } rk_dailink.codecs[0].of_node = of_parse_phandle(np, "rockchip,audio-codec", @@ -207,10 +205,9 @@ static int snd_rk_mc_probe(struct platform_device *pdev) } ret = snd_soc_get_dai_name(&args, &rk_dailink.codecs[0].dai_name); - if (ret) { - dev_err(&pdev->dev, "Unable to get codec_dai_name\n"); - return ret; - } + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Unable to get codec_dai_name\n"); rk_dailink.cpus->of_node = of_parse_phandle(np, "rockchip,i2s-controller", 0); @@ -223,11 +220,8 @@ static int snd_rk_mc_probe(struct platform_device *pdev) rk_dailink.platforms->of_node = rk_dailink.cpus->of_node; ret = snd_soc_of_parse_audio_routing(card, "rockchip,routing"); - if (ret) { - dev_err(&pdev->dev, - "Unable to parse 'rockchip,routing' property\n"); + if (ret) return ret; - } snd_soc_card_set_drvdata(card, machine); diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c index 64c90316fa02..261f36d4c2fd 100644 --- a/sound/soc/rockchip/rockchip_i2s.c +++ b/sound/soc/rockchip/rockchip_i2s.c @@ -767,16 +767,14 @@ static int rockchip_i2s_probe(struct platform_device *pdev) /* try to prepare related clocks */ i2s->hclk = devm_clk_get_enabled(&pdev->dev, "i2s_hclk"); - if (IS_ERR(i2s->hclk)) { - dev_err(&pdev->dev, "Can't retrieve i2s bus clock\n"); - return PTR_ERR(i2s->hclk); - } + if (IS_ERR(i2s->hclk)) + return dev_err_probe(&pdev->dev, PTR_ERR(i2s->hclk), + "Can't retrieve i2s bus clock\n"); i2s->mclk = devm_clk_get(&pdev->dev, "i2s_clk"); - if (IS_ERR(i2s->mclk)) { - dev_err(&pdev->dev, "Can't retrieve i2s master clock\n"); - return PTR_ERR(i2s->mclk); - } + if (IS_ERR(i2s->mclk)) + return dev_err_probe(&pdev->dev, PTR_ERR(i2s->mclk), + "Can't retrieve i2s master clock\n"); regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(regs)) @@ -792,7 +790,11 @@ static int rockchip_i2s_probe(struct platform_device *pdev) i2s->bclk_ratio = 64; i2s->pinctrl = devm_pinctrl_get(&pdev->dev); - if (!IS_ERR(i2s->pinctrl)) { + if (IS_ERR(i2s->pinctrl)) { + if (PTR_ERR(i2s->pinctrl) == -EPROBE_DEFER) + return -EPROBE_DEFER; + dev_dbg(&pdev->dev, "failed to find i2s pinctrl\n"); + } else { i2s->bclk_on = pinctrl_lookup_state(i2s->pinctrl, "bclk_on"); if (!IS_ERR_OR_NULL(i2s->bclk_on)) { i2s->bclk_off = pinctrl_lookup_state(i2s->pinctrl, "bclk_off"); @@ -801,8 +803,6 @@ static int rockchip_i2s_probe(struct platform_device *pdev) return -EINVAL; } } - } else { - dev_dbg(&pdev->dev, "failed to find i2s pinctrl\n"); } i2s_pinctrl_select_bclk_off(i2s); @@ -831,16 +831,12 @@ static int rockchip_i2s_probe(struct platform_device *pdev) &rockchip_i2s_component, dai, 1); - if (ret) { - dev_err(&pdev->dev, "Could not register DAI\n"); + if (ret) return ret; - } ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); - if (ret) { - dev_err(&pdev->dev, "Could not register PCM\n"); + if (ret) return ret; - } return 0; } diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c index e6229a325ffe..5ef7f109706d 100644 --- a/sound/soc/rockchip/rockchip_i2s_tdm.c +++ b/sound/soc/rockchip/rockchip_i2s_tdm.c @@ -1263,16 +1263,14 @@ static int rockchip_i2s_tdm_probe(struct platform_device *pdev) i2s_tdm->tx_reset = devm_reset_control_get_optional_exclusive(&pdev->dev, "tx-m"); if (IS_ERR(i2s_tdm->tx_reset)) { - ret = PTR_ERR(i2s_tdm->tx_reset); - return dev_err_probe(i2s_tdm->dev, ret, + return dev_err_probe(i2s_tdm->dev, PTR_ERR(i2s_tdm->tx_reset), "Error in tx-m reset control\n"); } i2s_tdm->rx_reset = devm_reset_control_get_optional_exclusive(&pdev->dev, "rx-m"); if (IS_ERR(i2s_tdm->rx_reset)) { - ret = PTR_ERR(i2s_tdm->rx_reset); - return dev_err_probe(i2s_tdm->dev, ret, + return dev_err_probe(i2s_tdm->dev, PTR_ERR(i2s_tdm->rx_reset), "Error in rx-m reset control\n"); } @@ -1363,17 +1361,12 @@ static int rockchip_i2s_tdm_probe(struct platform_device *pdev) ret = devm_snd_soc_register_component(&pdev->dev, &rockchip_i2s_tdm_component, i2s_tdm->dai, 1); - - if (ret) { - dev_err(&pdev->dev, "Could not register DAI\n"); + if (ret) goto err_suspend; - } ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); - if (ret) { - dev_err(&pdev->dev, "Could not register PCM\n"); + if (ret) goto err_suspend; - } return 0; diff --git a/sound/soc/rockchip/rockchip_max98090.c b/sound/soc/rockchip/rockchip_max98090.c index 075d0990a126..426506a8e18e 100644 --- a/sound/soc/rockchip/rockchip_max98090.c +++ b/sound/soc/rockchip/rockchip_max98090.c @@ -428,11 +428,8 @@ static int snd_rk_mc_probe(struct platform_device *pdev) /* Parse card name. */ ret = snd_soc_of_parse_card_name(card, "rockchip,model"); - if (ret) { - dev_err(&pdev->dev, - "Soc parse card name failed %d\n", ret); + if (ret) return ret; - } /* register the soc card */ ret = devm_snd_soc_register_card(&pdev->dev, card); diff --git a/sound/soc/rockchip/rockchip_pdm.c b/sound/soc/rockchip/rockchip_pdm.c index 115e90d3bbfe..343fda478901 100644 --- a/sound/soc/rockchip/rockchip_pdm.c +++ b/sound/soc/rockchip/rockchip_pdm.c @@ -630,10 +630,8 @@ static int rockchip_pdm_probe(struct platform_device *pdev) &rockchip_pdm_component, &rockchip_pdm_dai, 1); - if (ret) { - dev_err(&pdev->dev, "could not register dai: %d\n", ret); + if (ret) goto err_suspend; - } rockchip_pdm_rxctrl(pdm, 0); @@ -642,10 +640,8 @@ static int rockchip_pdm_probe(struct platform_device *pdev) goto err_suspend; ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); - if (ret) { - dev_err(&pdev->dev, "could not register pcm: %d\n", ret); + if (ret) goto err_suspend; - } return 0; diff --git a/sound/soc/rockchip/rockchip_rt5645.c b/sound/soc/rockchip/rockchip_rt5645.c index 590b64b362f6..0432eeabc64e 100644 --- a/sound/soc/rockchip/rockchip_rt5645.c +++ b/sound/soc/rockchip/rockchip_rt5645.c @@ -191,11 +191,8 @@ static int snd_rk_mc_probe(struct platform_device *pdev) rk_dailink.platforms->of_node = rk_dailink.cpus->of_node; ret = snd_soc_of_parse_card_name(card, "rockchip,model"); - if (ret) { - dev_err(&pdev->dev, - "Soc parse card name failed %d\n", ret); + if (ret) goto put_cpu_of_node; - } ret = devm_snd_soc_register_card(&pdev->dev, card); if (ret) { diff --git a/sound/soc/rockchip/rockchip_sai.c b/sound/soc/rockchip/rockchip_sai.c index 585e89f61f0d..30b5e71d0937 100644 --- a/sound/soc/rockchip/rockchip_sai.c +++ b/sound/soc/rockchip/rockchip_sai.c @@ -1428,12 +1428,13 @@ static int rockchip_sai_probe(struct platform_device *pdev) "Failed to initialize regmap\n"); irq = platform_get_irq_optional(pdev, 0); + if (irq == -EPROBE_DEFER) + return irq; if (irq > 0) { ret = devm_request_irq(&pdev->dev, irq, rockchip_sai_isr, IRQF_SHARED, node->name, sai); if (ret) - return dev_err_probe(&pdev->dev, ret, - "Failed to request irq %d\n", irq); + return ret; } else { dev_dbg(&pdev->dev, "Asked for an IRQ but got %d\n", irq); } @@ -1456,7 +1457,7 @@ static int rockchip_sai_probe(struct platform_device *pdev) ret = rockchip_sai_parse_paths(sai, node); if (ret) - return dev_err_probe(&pdev->dev, ret, "Failed to parse paths\n"); + return ret; /* * From here on, all register accesses need to be wrapped in @@ -1471,18 +1472,14 @@ static int rockchip_sai_probe(struct platform_device *pdev) return dev_err_probe(&pdev->dev, ret, "Failed to resume device\n"); ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); - if (ret) { - dev_err(&pdev->dev, "Failed to register PCM: %d\n", ret); + if (ret) goto err_runtime_suspend; - } ret = devm_snd_soc_register_component(&pdev->dev, &rockchip_sai_component, dai, 1); - if (ret) { - dev_err(&pdev->dev, "Failed to register component: %d\n", ret); + if (ret) goto err_runtime_suspend; - } pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_put(&pdev->dev); diff --git a/sound/soc/rockchip/rockchip_spdif.c b/sound/soc/rockchip/rockchip_spdif.c index 7f15bc7f8f35..2d53efd5dd2e 100644 --- a/sound/soc/rockchip/rockchip_spdif.c +++ b/sound/soc/rockchip/rockchip_spdif.c @@ -396,13 +396,13 @@ static int rk_spdif_probe(struct platform_device *pdev) ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); if (ret) - return dev_err_probe(&pdev->dev, ret, "Could not register PCM\n"); + return ret; ret = devm_snd_soc_register_component(&pdev->dev, &rk_spdif_component, &rk_spdif_dai, 1); if (ret) - return dev_err_probe(&pdev->dev, ret, "Could not register DAI\n"); + return ret; return 0; }