]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: tegra: Add error logging in tegra210_i2s driver
authorSheetal <sheetal@nvidia.com>
Wed, 25 Mar 2026 10:14:31 +0000 (10:14 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 25 Mar 2026 13:14:24 +0000 (13:14 +0000)
Log errors in the Tegra210 I2S probe and runtime callback paths.

Signed-off-by: Sheetal <sheetal@nvidia.com>
Link: https://patch.msgid.link/20260325101437.3059693-9-sheetal@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/tegra/tegra210_i2s.c

index d8e02f0a3025ae8b7c590810b5717395bc5a0f2b..d525da498b6295617945f382d03acb7bd456c183 100644 (file)
@@ -161,6 +161,7 @@ static int tegra210_i2s_init(struct snd_soc_dapm_widget *w,
                stream = SNDRV_PCM_STREAM_CAPTURE;
                status_reg = TEGRA210_I2S_TX_STATUS + i2s->soc_data->tx_offset;
        } else {
+               dev_err(dev, "invalid I2S direction register 0x%x\n", w->reg);
                return -EINVAL;
        }
 
@@ -235,6 +236,7 @@ static int tegra210_i2s_set_fmt(struct snd_soc_dai *dai,
                val = I2S_CTRL_MASTER_EN;
                break;
        default:
+               dev_err(dai->dev, "invalid clock provider format 0x%x\n", fmt);
                return -EINVAL;
        }
 
@@ -270,6 +272,7 @@ static int tegra210_i2s_set_fmt(struct snd_soc_dai *dai,
                tegra210_i2s_set_data_offset(i2s, 0);
                break;
        default:
+               dev_err(dai->dev, "invalid I2S frame format 0x%x\n", fmt);
                return -EINVAL;
        }
 
@@ -290,6 +293,7 @@ static int tegra210_i2s_set_fmt(struct snd_soc_dai *dai,
                val ^= I2S_CTRL_LRCK_POL_MASK;
                break;
        default:
+               dev_err(dai->dev, "invalid I2S clock inversion 0x%x\n", fmt);
                return -EINVAL;
        }
 
@@ -1070,10 +1074,9 @@ static int tegra210_i2s_probe(struct platform_device *pdev)
        dev_set_drvdata(dev, i2s);
 
        i2s->clk_i2s = devm_clk_get(dev, "i2s");
-       if (IS_ERR(i2s->clk_i2s)) {
-               dev_err(dev, "can't retrieve I2S bit clock\n");
-               return PTR_ERR(i2s->clk_i2s);
-       }
+       if (IS_ERR(i2s->clk_i2s))
+               return dev_err_probe(dev, PTR_ERR(i2s->clk_i2s),
+                                    "can't retrieve I2S bit clock\n");
 
        /*
         * Not an error, as this clock is needed only when some other I/O
@@ -1108,10 +1111,9 @@ static int tegra210_i2s_probe(struct platform_device *pdev)
        err = devm_snd_soc_register_component(dev, i2s->soc_data->i2s_cmpnt,
                                              tegra210_i2s_dais,
                                              ARRAY_SIZE(tegra210_i2s_dais));
-       if (err) {
-               dev_err(dev, "can't register I2S component, err: %d\n", err);
-               return err;
-       }
+       if (err)
+               return dev_err_probe(dev, err,
+                                    "can't register I2S component\n");
 
        pm_runtime_enable(dev);