]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: stm: Use dev_err_probe() helper
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 5 Jan 2026 14:36:24 +0000 (09:36 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:12:04 +0000 (13:12 +0100)
[ Upstream commit efc162cbd480f1fb47d439c193ec9731bcc6c749 ]

Use the dev_err_probe() helper, instead of open-coding the same
operation.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/20211214020843.2225831-22-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Stable-dep-of: 312ec2f0d9d1 ("ASoC: stm32: sai: fix clk prepare imbalance on probe failure")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/stm/stm32_i2s.c
sound/soc/stm/stm32_sai.c
sound/soc/stm/stm32_sai_sub.c
sound/soc/stm/stm32_spdifrx.c

index 7c4d63c33f15b33ee71aabb61bf15d17fccd9f65..bc369d064e48a16c5f26620877ee4e2044b9754e 100644 (file)
@@ -830,36 +830,24 @@ static int stm32_i2s_parse_dt(struct platform_device *pdev,
 
        /* Get clocks */
        i2s->pclk = devm_clk_get(&pdev->dev, "pclk");
-       if (IS_ERR(i2s->pclk)) {
-               if (PTR_ERR(i2s->pclk) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Could not get pclk: %ld\n",
-                               PTR_ERR(i2s->pclk));
-               return PTR_ERR(i2s->pclk);
-       }
+       if (IS_ERR(i2s->pclk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(i2s->pclk),
+                                    "Could not get pclk\n");
 
        i2s->i2sclk = devm_clk_get(&pdev->dev, "i2sclk");
-       if (IS_ERR(i2s->i2sclk)) {
-               if (PTR_ERR(i2s->i2sclk) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Could not get i2sclk: %ld\n",
-                               PTR_ERR(i2s->i2sclk));
-               return PTR_ERR(i2s->i2sclk);
-       }
+       if (IS_ERR(i2s->i2sclk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(i2s->i2sclk),
+                                    "Could not get i2sclk\n");
 
        i2s->x8kclk = devm_clk_get(&pdev->dev, "x8k");
-       if (IS_ERR(i2s->x8kclk)) {
-               if (PTR_ERR(i2s->x8kclk) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Could not get x8k parent clock: %ld\n",
-                               PTR_ERR(i2s->x8kclk));
-               return PTR_ERR(i2s->x8kclk);
-       }
+       if (IS_ERR(i2s->x8kclk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(i2s->x8kclk),
+                                    "Could not get x8k parent clock\n");
 
        i2s->x11kclk = devm_clk_get(&pdev->dev, "x11k");
-       if (IS_ERR(i2s->x11kclk)) {
-               if (PTR_ERR(i2s->x11kclk) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Could not get x11k parent clock: %ld\n",
-                               PTR_ERR(i2s->x11kclk));
-               return PTR_ERR(i2s->x11kclk);
-       }
+       if (IS_ERR(i2s->x11kclk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(i2s->x11kclk),
+                                    "Could not get x11k parent clock\n");
 
        /* Get irqs */
        irq = platform_get_irq(pdev, 0);
@@ -875,12 +863,10 @@ static int stm32_i2s_parse_dt(struct platform_device *pdev,
 
        /* Reset */
        rst = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
-       if (IS_ERR(rst)) {
-               if (PTR_ERR(rst) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Reset controller error %ld\n",
-                               PTR_ERR(rst));
-               return PTR_ERR(rst);
-       }
+       if (IS_ERR(rst))
+               return dev_err_probe(&pdev->dev, PTR_ERR(rst),
+                                    "Reset controller error\n");
+
        reset_control_assert(rst);
        udelay(2);
        reset_control_deassert(rst);
@@ -922,19 +908,13 @@ static int stm32_i2s_probe(struct platform_device *pdev)
 
        i2s->regmap = devm_regmap_init_mmio_clk(&pdev->dev, "pclk",
                                                i2s->base, i2s->regmap_conf);
-       if (IS_ERR(i2s->regmap)) {
-               if (PTR_ERR(i2s->regmap) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Regmap init error %ld\n",
-                               PTR_ERR(i2s->regmap));
-               return PTR_ERR(i2s->regmap);
-       }
+       if (IS_ERR(i2s->regmap))
+               return dev_err_probe(&pdev->dev, PTR_ERR(i2s->regmap),
+                                    "Regmap init error\n");
 
        ret = snd_dmaengine_pcm_register(&pdev->dev, &stm32_i2s_pcm_config, 0);
-       if (ret) {
-               if (ret != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "PCM DMA register error %d\n", ret);
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(&pdev->dev, ret, "PCM DMA register error\n");
 
        ret = snd_soc_register_component(&pdev->dev, &stm32_i2s_component,
                                         i2s->dai_drv, 1);
index bf691cc3f5b254876efb8ae29f6781a048aecb6d..df167c389b9874acfb76ccb2e01d16724c72200d 100644 (file)
@@ -173,29 +173,20 @@ static int stm32_sai_probe(struct platform_device *pdev)
 
        if (!STM_SAI_IS_F4(sai)) {
                sai->pclk = devm_clk_get(&pdev->dev, "pclk");
-               if (IS_ERR(sai->pclk)) {
-                       if (PTR_ERR(sai->pclk) != -EPROBE_DEFER)
-                               dev_err(&pdev->dev, "missing bus clock pclk: %ld\n",
-                                       PTR_ERR(sai->pclk));
-                       return PTR_ERR(sai->pclk);
-               }
+               if (IS_ERR(sai->pclk))
+                       return dev_err_probe(&pdev->dev, PTR_ERR(sai->pclk),
+                                            "missing bus clock pclk\n");
        }
 
        sai->clk_x8k = devm_clk_get(&pdev->dev, "x8k");
-       if (IS_ERR(sai->clk_x8k)) {
-               if (PTR_ERR(sai->clk_x8k) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "missing x8k parent clock: %ld\n",
-                               PTR_ERR(sai->clk_x8k));
-               return PTR_ERR(sai->clk_x8k);
-       }
+       if (IS_ERR(sai->clk_x8k))
+               return dev_err_probe(&pdev->dev, PTR_ERR(sai->clk_x8k),
+                                    "missing x8k parent clock\n");
 
        sai->clk_x11k = devm_clk_get(&pdev->dev, "x11k");
-       if (IS_ERR(sai->clk_x11k)) {
-               if (PTR_ERR(sai->clk_x11k) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "missing x11k parent clock: %ld\n",
-                               PTR_ERR(sai->clk_x11k));
-               return PTR_ERR(sai->clk_x11k);
-       }
+       if (IS_ERR(sai->clk_x11k))
+               return dev_err_probe(&pdev->dev, PTR_ERR(sai->clk_x11k),
+                                    "missing x11k parent clock\n");
 
        /* init irqs */
        sai->irq = platform_get_irq(pdev, 0);
@@ -204,12 +195,10 @@ static int stm32_sai_probe(struct platform_device *pdev)
 
        /* reset */
        rst = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
-       if (IS_ERR(rst)) {
-               if (PTR_ERR(rst) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Reset controller error %ld\n",
-                               PTR_ERR(rst));
-               return PTR_ERR(rst);
-       }
+       if (IS_ERR(rst))
+               return dev_err_probe(&pdev->dev, PTR_ERR(rst),
+                                    "Reset controller error\n");
+
        reset_control_assert(rst);
        udelay(2);
        reset_control_deassert(rst);
index 90e4757f76b0ff3fdc38fb8fb063668699120e40..0deaeb3d3c131cfcf1b43907441d2c4a775c8953 100644 (file)
@@ -1380,12 +1380,9 @@ static int stm32_sai_sub_parse_of(struct platform_device *pdev,
         */
        sai->regmap = devm_regmap_init_mmio(&pdev->dev, base,
                                            sai->regmap_config);
-       if (IS_ERR(sai->regmap)) {
-               if (PTR_ERR(sai->regmap) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Regmap init error %ld\n",
-                               PTR_ERR(sai->regmap));
-               return PTR_ERR(sai->regmap);
-       }
+       if (IS_ERR(sai->regmap))
+               return dev_err_probe(&pdev->dev, PTR_ERR(sai->regmap),
+                                    "Regmap init error\n");
 
        /* Get direction property */
        if (of_property_match_string(np, "dma-names", "tx") >= 0) {
@@ -1473,12 +1470,9 @@ static int stm32_sai_sub_parse_of(struct platform_device *pdev,
 
        of_node_put(args.np);
        sai->sai_ck = devm_clk_get(&pdev->dev, "sai_ck");
-       if (IS_ERR(sai->sai_ck)) {
-               if (PTR_ERR(sai->sai_ck) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Missing kernel clock sai_ck: %ld\n",
-                               PTR_ERR(sai->sai_ck));
-               return PTR_ERR(sai->sai_ck);
-       }
+       if (IS_ERR(sai->sai_ck))
+               return dev_err_probe(&pdev->dev, PTR_ERR(sai->sai_ck),
+                                    "Missing kernel clock sai_ck\n");
 
        ret = clk_prepare(sai->pdata->pclk);
        if (ret < 0)
@@ -1552,11 +1546,8 @@ static int stm32_sai_sub_probe(struct platform_device *pdev)
                conf = &stm32_sai_pcm_config_spdif;
 
        ret = snd_dmaengine_pcm_register(&pdev->dev, conf, 0);
-       if (ret) {
-               if (ret != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Could not register pcm dma\n");
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(&pdev->dev, ret, "Could not register pcm dma\n");
 
        ret = snd_soc_register_component(&pdev->dev, &stm32_component,
                                         &sai->cpu_dai_drv, 1);
index ef518cff84f28954aaa56f2a1530e52f3d703677..2bf834800cc080c0a374f8c2f5e3f680b8961679 100644 (file)
@@ -405,12 +405,9 @@ static int stm32_spdifrx_dma_ctrl_register(struct device *dev,
        int ret;
 
        spdifrx->ctrl_chan = dma_request_chan(dev, "rx-ctrl");
-       if (IS_ERR(spdifrx->ctrl_chan)) {
-               if (PTR_ERR(spdifrx->ctrl_chan) != -EPROBE_DEFER)
-                       dev_err(dev, "dma_request_slave_channel error %ld\n",
-                               PTR_ERR(spdifrx->ctrl_chan));
-               return PTR_ERR(spdifrx->ctrl_chan);
-       }
+       if (IS_ERR(spdifrx->ctrl_chan))
+               return dev_err_probe(dev, PTR_ERR(spdifrx->ctrl_chan),
+                                    "dma_request_slave_channel error\n");
 
        spdifrx->dmab = devm_kzalloc(dev, sizeof(struct snd_dma_buffer),
                                     GFP_KERNEL);
@@ -930,12 +927,9 @@ static int stm32_spdifrx_parse_of(struct platform_device *pdev,
        spdifrx->phys_addr = res->start;
 
        spdifrx->kclk = devm_clk_get(&pdev->dev, "kclk");
-       if (IS_ERR(spdifrx->kclk)) {
-               if (PTR_ERR(spdifrx->kclk) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Could not get kclk: %ld\n",
-                               PTR_ERR(spdifrx->kclk));
-               return PTR_ERR(spdifrx->kclk);
-       }
+       if (IS_ERR(spdifrx->kclk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(spdifrx->kclk),
+                                    "Could not get kclk\n");
 
        spdifrx->irq = platform_get_irq(pdev, 0);
        if (spdifrx->irq < 0)
@@ -986,12 +980,9 @@ static int stm32_spdifrx_probe(struct platform_device *pdev)
        spdifrx->regmap = devm_regmap_init_mmio_clk(&pdev->dev, "kclk",
                                                    spdifrx->base,
                                                    spdifrx->regmap_conf);
-       if (IS_ERR(spdifrx->regmap)) {
-               if (PTR_ERR(spdifrx->regmap) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Regmap init error %ld\n",
-                               PTR_ERR(spdifrx->regmap));
-               return PTR_ERR(spdifrx->regmap);
-       }
+       if (IS_ERR(spdifrx->regmap))
+               return dev_err_probe(&pdev->dev, PTR_ERR(spdifrx->regmap),
+                                    "Regmap init error\n");
 
        ret = devm_request_irq(&pdev->dev, spdifrx->irq, stm32_spdifrx_isr, 0,
                               dev_name(&pdev->dev), spdifrx);
@@ -1001,23 +992,18 @@ static int stm32_spdifrx_probe(struct platform_device *pdev)
        }
 
        rst = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL);
-       if (IS_ERR(rst)) {
-               if (PTR_ERR(rst) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "Reset controller error %ld\n",
-                               PTR_ERR(rst));
-               return PTR_ERR(rst);
-       }
+       if (IS_ERR(rst))
+               return dev_err_probe(&pdev->dev, PTR_ERR(rst),
+                                    "Reset controller error\n");
+
        reset_control_assert(rst);
        udelay(2);
        reset_control_deassert(rst);
 
        pcm_config = &stm32_spdifrx_pcm_config;
        ret = snd_dmaengine_pcm_register(&pdev->dev, pcm_config, 0);
-       if (ret) {
-               if (ret != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "PCM DMA register error %d\n", ret);
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(&pdev->dev, ret, "PCM DMA register error\n");
 
        ret = snd_soc_register_component(&pdev->dev,
                                         &stm32_spdifrx_component,