* [PATCH 0/4] ASoC: tegra: Simplify error handling
@ 2026-07-15 5:11 phucduc.bui
2026-07-15 5:11 ` [PATCH 1/4] ASoC: tegra: tegra20_das: Use dev_err_probe() for " phucduc.bui
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: phucduc.bui @ 2026-07-15 5:11 UTC (permalink / raw)
To: Mark Brown, Thierry Reding, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Jonathan Hunter
Cc: Krzysztof Kozlowski, Sheetal, u.kleine-koenig, Kuninori Morimoto,
Rosen Penev, Piyush Patle, Takashi Sakamoto, Bjorn Helgaas,
linux-tegra, linux-kernel, linux-sound, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
Hi all,
This series contains a few small cleanups for the Tegra ASoC drivers.
- Use dev_err_probe() for regmap initialization failures.
- Return the original error from snd_soc_add_component_controls().
- Use devm_clk_get_optional() for the optional sync_input clock.
Overall, this simplifies the error paths and makes the code more
consistent.
Best regards,
Phuc
bui duc phuc (4):
ASoC: tegra: tegra20_das: Use dev_err_probe() for error handling
ASoC: tegra: tegra210_adx: Return the original error directly
ASoC: tegra: tegra210_amx: Return the original error directly
ASoC: tegra: tegra210: Use devm_clk_get_optional() for sync_input
clock
sound/soc/tegra/tegra20_das.c | 7 +++----
sound/soc/tegra/tegra210_adx.c | 12 ++++--------
sound/soc/tegra/tegra210_amx.c | 12 ++++--------
sound/soc/tegra/tegra210_i2s.c | 10 +++++-----
4 files changed, 16 insertions(+), 25 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] ASoC: tegra: tegra20_das: Use dev_err_probe() for error handling
2026-07-15 5:11 [PATCH 0/4] ASoC: tegra: Simplify error handling phucduc.bui
@ 2026-07-15 5:11 ` phucduc.bui
2026-07-15 11:47 ` Thierry Reding
2026-07-15 5:11 ` [PATCH 2/4] ASoC: tegra: tegra210_adx: Return the original error directly phucduc.bui
` (3 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: phucduc.bui @ 2026-07-15 5:11 UTC (permalink / raw)
To: Mark Brown, Thierry Reding, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Jonathan Hunter
Cc: Krzysztof Kozlowski, Sheetal, u.kleine-koenig, Kuninori Morimoto,
Rosen Penev, Piyush Patle, Takashi Sakamoto, Bjorn Helgaas,
linux-tegra, linux-kernel, linux-sound, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
Replace the existing dev_err() and PTR_ERR() sequence with
dev_err_probe(), preserving the original error code while simplifying
the error handling.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/tegra/tegra20_das.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/tegra/tegra20_das.c b/sound/soc/tegra/tegra20_das.c
index b48cc4a6967b..ea8bc9bcfa67 100644
--- a/sound/soc/tegra/tegra20_das.c
+++ b/sound/soc/tegra/tegra20_das.c
@@ -167,10 +167,9 @@ static int tegra20_das_probe(struct platform_device *pdev)
das->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
&tegra20_das_regmap_config);
- if (IS_ERR(das->regmap)) {
- dev_err(&pdev->dev, "regmap init failed\n");
- return PTR_ERR(das->regmap);
- }
+ if (IS_ERR(das->regmap))
+ return dev_err_probe(&pdev->dev, PTR_ERR(das->regmap),
+ "regmap init failed\n");
tegra20_das_connect_dap_to_dac(das, TEGRA20_DAS_DAP_ID_1,
TEGRA20_DAS_DAP_SEL_DAC1);
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/4] ASoC: tegra: tegra210_adx: Return the original error directly
2026-07-15 5:11 [PATCH 0/4] ASoC: tegra: Simplify error handling phucduc.bui
2026-07-15 5:11 ` [PATCH 1/4] ASoC: tegra: tegra20_das: Use dev_err_probe() for " phucduc.bui
@ 2026-07-15 5:11 ` phucduc.bui
2026-07-15 11:47 ` Thierry Reding
2026-07-15 5:11 ` [PATCH 3/4] ASoC: tegra: tegra210_amx: " phucduc.bui
` (2 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: phucduc.bui @ 2026-07-15 5:11 UTC (permalink / raw)
To: Mark Brown, Thierry Reding, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Jonathan Hunter
Cc: Krzysztof Kozlowski, Sheetal, u.kleine-koenig, Kuninori Morimoto,
Rosen Penev, Piyush Patle, Takashi Sakamoto, Bjorn Helgaas,
linux-tegra, linux-kernel, linux-sound, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_soc_add_component_controls() already reports failures internally.
Return its error code directly instead of logging the error again in the
component probe callback. Also remove the now unnecessary local error
variable.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/tegra/tegra210_adx.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/sound/soc/tegra/tegra210_adx.c b/sound/soc/tegra/tegra210_adx.c
index 15a94196ee1a..e75bf50f8fb0 100644
--- a/sound/soc/tegra/tegra210_adx.c
+++ b/sound/soc/tegra/tegra210_adx.c
@@ -496,16 +496,12 @@ static struct snd_kcontrol_new tegra264_adx_controls[] = {
static int tegra210_adx_component_probe(struct snd_soc_component *component)
{
struct tegra210_adx *adx = snd_soc_component_get_drvdata(component);
- int err = 0;
- if (adx->soc_data->num_controls) {
- err = snd_soc_add_component_controls(component, adx->soc_data->controls,
- adx->soc_data->num_controls);
- if (err)
- dev_err(component->dev, "can't add ADX controls, err: %d\n", err);
- }
+ if (adx->soc_data->num_controls)
+ return snd_soc_add_component_controls(component, adx->soc_data->controls,
+ adx->soc_data->num_controls);
- return err;
+ return 0;
}
static const struct snd_soc_component_driver tegra210_adx_cmpnt = {
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/4] ASoC: tegra: tegra210_amx: Return the original error directly
2026-07-15 5:11 [PATCH 0/4] ASoC: tegra: Simplify error handling phucduc.bui
2026-07-15 5:11 ` [PATCH 1/4] ASoC: tegra: tegra20_das: Use dev_err_probe() for " phucduc.bui
2026-07-15 5:11 ` [PATCH 2/4] ASoC: tegra: tegra210_adx: Return the original error directly phucduc.bui
@ 2026-07-15 5:11 ` phucduc.bui
2026-07-15 11:48 ` Thierry Reding
2026-07-15 5:11 ` [PATCH 4/4] ASoC: tegra: tegra210: Use devm_clk_get_optional() for sync_input clock phucduc.bui
2026-07-15 12:49 ` [PATCH 0/4] ASoC: tegra: Simplify error handling Mark Brown
4 siblings, 1 reply; 10+ messages in thread
From: phucduc.bui @ 2026-07-15 5:11 UTC (permalink / raw)
To: Mark Brown, Thierry Reding, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Jonathan Hunter
Cc: Krzysztof Kozlowski, Sheetal, u.kleine-koenig, Kuninori Morimoto,
Rosen Penev, Piyush Patle, Takashi Sakamoto, Bjorn Helgaas,
linux-tegra, linux-kernel, linux-sound, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
snd_soc_add_component_controls() already reports failures internally.
Return its error code directly instead of logging the error again in the
component probe callback. Also remove the now unnecessary local error
variable.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/tegra/tegra210_amx.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/sound/soc/tegra/tegra210_amx.c b/sound/soc/tegra/tegra210_amx.c
index cc1f9c158191..6a67ce6128b4 100644
--- a/sound/soc/tegra/tegra210_amx.c
+++ b/sound/soc/tegra/tegra210_amx.c
@@ -504,16 +504,12 @@ static struct snd_kcontrol_new tegra264_amx_controls[] = {
static int tegra210_amx_component_probe(struct snd_soc_component *component)
{
struct tegra210_amx *amx = snd_soc_component_get_drvdata(component);
- int err = 0;
- if (amx->soc_data->num_controls) {
- err = snd_soc_add_component_controls(component, amx->soc_data->controls,
- amx->soc_data->num_controls);
- if (err)
- dev_err(component->dev, "can't add AMX controls, err: %d\n", err);
- }
+ if (amx->soc_data->num_controls)
+ return snd_soc_add_component_controls(component, amx->soc_data->controls,
+ amx->soc_data->num_controls);
- return err;
+ return 0;
}
static const struct snd_soc_component_driver tegra210_amx_cmpnt = {
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] ASoC: tegra: tegra210: Use devm_clk_get_optional() for sync_input clock
2026-07-15 5:11 [PATCH 0/4] ASoC: tegra: Simplify error handling phucduc.bui
` (2 preceding siblings ...)
2026-07-15 5:11 ` [PATCH 3/4] ASoC: tegra: tegra210_amx: " phucduc.bui
@ 2026-07-15 5:11 ` phucduc.bui
2026-07-15 11:52 ` Thierry Reding
2026-07-15 12:49 ` [PATCH 0/4] ASoC: tegra: Simplify error handling Mark Brown
4 siblings, 1 reply; 10+ messages in thread
From: phucduc.bui @ 2026-07-15 5:11 UTC (permalink / raw)
To: Mark Brown, Thierry Reding, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Jonathan Hunter
Cc: Krzysztof Kozlowski, Sheetal, u.kleine-koenig, Kuninori Morimoto,
Rosen Penev, Piyush Patle, Takashi Sakamoto, Bjorn Helgaas,
linux-tegra, linux-kernel, linux-sound, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
The existing comment states that the sync_input clock is only needed
when another I/O is configured to use the current I2S instance as its
input clock, and the current code does not treat its absence as an
error.
Use devm_clk_get_optional() to match the existing behaviour while still
reporting real failures via dev_err_probe(). Update the comment to
describe the optional nature of the clock rather than the previous error
handling.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/tegra/tegra210_i2s.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/sound/soc/tegra/tegra210_i2s.c b/sound/soc/tegra/tegra210_i2s.c
index ff8c72fc38c5..e7e26e917291 100644
--- a/sound/soc/tegra/tegra210_i2s.c
+++ b/sound/soc/tegra/tegra210_i2s.c
@@ -1078,13 +1078,13 @@ static int tegra210_i2s_probe(struct platform_device *pdev)
"can't retrieve I2S bit clock\n");
/*
- * Not an error, as this clock is needed only when some other I/O
- * requires input clock from current I2S instance, which is
- * configurable from DT.
+ * This clock is optional and is only needed when another I/O uses
+ * the current I2S instance as its input clock, as configured in DT.
*/
- i2s->clk_sync_input = devm_clk_get(dev, "sync_input");
+ i2s->clk_sync_input = devm_clk_get_optional(dev, "sync_input");
if (IS_ERR(i2s->clk_sync_input))
- dev_dbg(dev, "can't retrieve I2S sync input clock\n");
+ return dev_err_probe(dev, PTR_ERR(i2s->clk_sync_input),
+ "can't retrieve I2S sync input clock\n");
regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(regs))
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/4] ASoC: tegra: tegra20_das: Use dev_err_probe() for error handling
2026-07-15 5:11 ` [PATCH 1/4] ASoC: tegra: tegra20_das: Use dev_err_probe() for " phucduc.bui
@ 2026-07-15 11:47 ` Thierry Reding
0 siblings, 0 replies; 10+ messages in thread
From: Thierry Reding @ 2026-07-15 11:47 UTC (permalink / raw)
To: phucduc.bui
Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Jonathan Hunter, Krzysztof Kozlowski, Sheetal, u.kleine-koenig,
Kuninori Morimoto, Rosen Penev, Piyush Patle, Takashi Sakamoto,
Bjorn Helgaas, linux-tegra, linux-kernel, linux-sound
[-- Attachment #1: Type: text/plain, Size: 496 bytes --]
On Wed, Jul 15, 2026 at 12:11:12PM +0700, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> Replace the existing dev_err() and PTR_ERR() sequence with
> dev_err_probe(), preserving the original error code while simplifying
> the error handling.
>
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
> ---
> sound/soc/tegra/tegra20_das.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
Reviewed-by: Thierry Reding <treding@nvidia.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] ASoC: tegra: tegra210_adx: Return the original error directly
2026-07-15 5:11 ` [PATCH 2/4] ASoC: tegra: tegra210_adx: Return the original error directly phucduc.bui
@ 2026-07-15 11:47 ` Thierry Reding
0 siblings, 0 replies; 10+ messages in thread
From: Thierry Reding @ 2026-07-15 11:47 UTC (permalink / raw)
To: phucduc.bui
Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Jonathan Hunter, Krzysztof Kozlowski, Sheetal, u.kleine-koenig,
Kuninori Morimoto, Rosen Penev, Piyush Patle, Takashi Sakamoto,
Bjorn Helgaas, linux-tegra, linux-kernel, linux-sound
[-- Attachment #1: Type: text/plain, Size: 580 bytes --]
On Wed, Jul 15, 2026 at 12:11:13PM +0700, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> snd_soc_add_component_controls() already reports failures internally.
> Return its error code directly instead of logging the error again in the
> component probe callback. Also remove the now unnecessary local error
> variable.
>
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
> ---
> sound/soc/tegra/tegra210_adx.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
Reviewed-by: Thierry Reding <treding@nvidia.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] ASoC: tegra: tegra210_amx: Return the original error directly
2026-07-15 5:11 ` [PATCH 3/4] ASoC: tegra: tegra210_amx: " phucduc.bui
@ 2026-07-15 11:48 ` Thierry Reding
0 siblings, 0 replies; 10+ messages in thread
From: Thierry Reding @ 2026-07-15 11:48 UTC (permalink / raw)
To: phucduc.bui
Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Jonathan Hunter, Krzysztof Kozlowski, Sheetal, u.kleine-koenig,
Kuninori Morimoto, Rosen Penev, Piyush Patle, Takashi Sakamoto,
Bjorn Helgaas, linux-tegra, linux-kernel, linux-sound
[-- Attachment #1: Type: text/plain, Size: 699 bytes --]
On Wed, Jul 15, 2026 at 12:11:14PM +0700, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> snd_soc_add_component_controls() already reports failures internally.
> Return its error code directly instead of logging the error again in the
> component probe callback. Also remove the now unnecessary local error
> variable.
>
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
> ---
> sound/soc/tegra/tegra210_amx.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
I suppose this could've been merged with the prior patch since it does
effectively the same thing. In either case:
Reviewed-by: Thierry Reding <treding@nvidia.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] ASoC: tegra: tegra210: Use devm_clk_get_optional() for sync_input clock
2026-07-15 5:11 ` [PATCH 4/4] ASoC: tegra: tegra210: Use devm_clk_get_optional() for sync_input clock phucduc.bui
@ 2026-07-15 11:52 ` Thierry Reding
0 siblings, 0 replies; 10+ messages in thread
From: Thierry Reding @ 2026-07-15 11:52 UTC (permalink / raw)
To: phucduc.bui
Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Jonathan Hunter, Krzysztof Kozlowski, Sheetal, u.kleine-koenig,
Kuninori Morimoto, Rosen Penev, Piyush Patle, Takashi Sakamoto,
Bjorn Helgaas, linux-tegra, linux-kernel, linux-sound
[-- Attachment #1: Type: text/plain, Size: 802 bytes --]
On Wed, Jul 15, 2026 at 12:11:15PM +0700, phucduc.bui@gmail.com wrote:
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> The existing comment states that the sync_input clock is only needed
> when another I/O is configured to use the current I2S instance as its
> input clock, and the current code does not treat its absence as an
> error.
> Use devm_clk_get_optional() to match the existing behaviour while still
> reporting real failures via dev_err_probe(). Update the comment to
> describe the optional nature of the clock rather than the previous error
> handling.
>
> Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
> ---
> sound/soc/tegra/tegra210_i2s.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
Reviewed-by: Thierry Reding <treding@nvidia.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] ASoC: tegra: Simplify error handling
2026-07-15 5:11 [PATCH 0/4] ASoC: tegra: Simplify error handling phucduc.bui
` (3 preceding siblings ...)
2026-07-15 5:11 ` [PATCH 4/4] ASoC: tegra: tegra210: Use devm_clk_get_optional() for sync_input clock phucduc.bui
@ 2026-07-15 12:49 ` Mark Brown
4 siblings, 0 replies; 10+ messages in thread
From: Mark Brown @ 2026-07-15 12:49 UTC (permalink / raw)
To: Thierry Reding, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Jonathan Hunter, phucduc.bui
Cc: Krzysztof Kozlowski, Sheetal, u.kleine-koenig, Kuninori Morimoto,
Rosen Penev, Piyush Patle, Takashi Sakamoto, Bjorn Helgaas,
linux-tegra, linux-kernel, linux-sound
On Wed, 15 Jul 2026 12:11:11 +0700, phucduc.bui@gmail.com wrote:
> ASoC: tegra: Simplify error handling
>
> From: bui duc phuc <phucduc.bui@gmail.com>
>
> Hi all,
>
> This series contains a few small cleanups for the Tegra ASoC drivers.
> - Use dev_err_probe() for regmap initialization failures.
> - Return the original error from snd_soc_add_component_controls().
> - Use devm_clk_get_optional() for the optional sync_input clock.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.3
Thanks!
[1/4] ASoC: tegra: tegra20_das: Use dev_err_probe() for error handling
https://git.kernel.org/broonie/sound/c/70d0d7b24d86
[2/4] ASoC: tegra: tegra210_adx: Return the original error directly
https://git.kernel.org/broonie/sound/c/b82384bffb27
[3/4] ASoC: tegra: tegra210_amx: Return the original error directly
https://git.kernel.org/broonie/sound/c/f7cbc51424cd
[4/4] ASoC: tegra: tegra210: Use devm_clk_get_optional() for sync_input clock
https://git.kernel.org/broonie/sound/c/226791fa6dbb
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-07-15 15:30 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 5:11 [PATCH 0/4] ASoC: tegra: Simplify error handling phucduc.bui
2026-07-15 5:11 ` [PATCH 1/4] ASoC: tegra: tegra20_das: Use dev_err_probe() for " phucduc.bui
2026-07-15 11:47 ` Thierry Reding
2026-07-15 5:11 ` [PATCH 2/4] ASoC: tegra: tegra210_adx: Return the original error directly phucduc.bui
2026-07-15 11:47 ` Thierry Reding
2026-07-15 5:11 ` [PATCH 3/4] ASoC: tegra: tegra210_amx: " phucduc.bui
2026-07-15 11:48 ` Thierry Reding
2026-07-15 5:11 ` [PATCH 4/4] ASoC: tegra: tegra210: Use devm_clk_get_optional() for sync_input clock phucduc.bui
2026-07-15 11:52 ` Thierry Reding
2026-07-15 12:49 ` [PATCH 0/4] ASoC: tegra: Simplify error handling Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox