Skip to content

Commit aeac022

Browse files
committed
ASoC: tegra: Add error logging for probe and callback failures
Sheetal <sheetal@nvidia.com> says: Resend pending v3 patches with fixes and add remaining dev_err_probe() conversions. Patch 1 replaces v3 patch 03/14 (ADMAIF). Patch 2 replaces v3 patch 09/14 (OPE/PEQ/MBDRC). Patch 3 is new - adds regmap init conversions across 10 drivers. Patch 4 is new - adds clock error conversions in tegra_asoc_machine.
2 parents c8ef13d + b015ef4 commit aeac022

15 files changed

Lines changed: 73 additions & 96 deletions

sound/soc/tegra/tegra186_asrc.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -989,10 +989,9 @@ static int tegra186_asrc_platform_probe(struct platform_device *pdev)
989989

990990
asrc->regmap = devm_regmap_init_mmio(dev, regs,
991991
&tegra186_asrc_regmap_config);
992-
if (IS_ERR(asrc->regmap)) {
993-
dev_err(dev, "regmap init failed\n");
994-
return PTR_ERR(asrc->regmap);
995-
}
992+
if (IS_ERR(asrc->regmap))
993+
return dev_err_probe(dev, PTR_ERR(asrc->regmap),
994+
"regmap init failed\n");
996995

997996
asrc->soc_data = of_device_get_match_data(&pdev->dev);
998997

sound/soc/tegra/tegra186_dspk.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -505,10 +505,9 @@ static int tegra186_dspk_platform_probe(struct platform_device *pdev)
505505
return PTR_ERR(regs);
506506

507507
dspk->regmap = devm_regmap_init_mmio(dev, regs, &tegra186_dspk_regmap);
508-
if (IS_ERR(dspk->regmap)) {
509-
dev_err(dev, "regmap init failed\n");
510-
return PTR_ERR(dspk->regmap);
511-
}
508+
if (IS_ERR(dspk->regmap))
509+
return dev_err_probe(dev, PTR_ERR(dspk->regmap),
510+
"regmap init failed\n");
512511

513512
regcache_cache_only(dspk->regmap, true);
514513

sound/soc/tegra/tegra210_admaif.c

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,7 @@ static int tegra_admaif_start(struct snd_soc_dai *dai, int direction)
408408
reg = CH_RX_REG(TEGRA_ADMAIF_RX_ENABLE, dai->id);
409409
break;
410410
default:
411+
dev_err(dai->dev, "invalid stream direction: %d\n", direction);
411412
return -EINVAL;
412413
}
413414

@@ -441,6 +442,7 @@ static int tegra_admaif_stop(struct snd_soc_dai *dai, int direction)
441442
reset_reg = CH_RX_REG(TEGRA_ADMAIF_RX_SOFT_RESET, dai->id);
442443
break;
443444
default:
445+
dev_err(dai->dev, "invalid stream direction: %d\n", direction);
444446
return -EINVAL;
445447
}
446448

@@ -489,6 +491,7 @@ static int tegra_admaif_trigger(struct snd_pcm_substream *substream, int cmd,
489491
case SNDRV_PCM_TRIGGER_SUSPEND:
490492
return tegra_admaif_stop(dai, substream->stream);
491493
default:
494+
dev_err(dai->dev, "invalid trigger command: %d\n", cmd);
492495
return -EINVAL;
493496
}
494497
}
@@ -958,18 +961,15 @@ static int tegra_admaif_probe(struct platform_device *pdev)
958961

959962
admaif->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
960963
admaif->soc_data->regmap_conf);
961-
if (IS_ERR(admaif->regmap)) {
962-
dev_err(&pdev->dev, "regmap init failed\n");
963-
return PTR_ERR(admaif->regmap);
964-
}
964+
if (IS_ERR(admaif->regmap))
965+
return dev_err_probe(&pdev->dev, PTR_ERR(admaif->regmap),
966+
"regmap init failed\n");
965967

966968
regcache_cache_only(admaif->regmap, true);
967969

968970
err = tegra_isomgr_adma_register(&pdev->dev);
969-
if (err) {
970-
dev_err(&pdev->dev, "Failed to add interconnect path\n");
971+
if (err)
971972
return err;
972-
}
973973

974974
regmap_update_bits(admaif->regmap, admaif->soc_data->global_base +
975975
TEGRA_ADMAIF_GLOBAL_ENABLE, 1, 1);
@@ -1009,11 +1009,9 @@ static int tegra_admaif_probe(struct platform_device *pdev)
10091009
admaif->soc_data->cmpnt,
10101010
admaif->soc_data->dais,
10111011
admaif->soc_data->num_ch);
1012-
if (err) {
1013-
dev_err(&pdev->dev,
1014-
"can't register ADMAIF component, err: %d\n", err);
1015-
return err;
1016-
}
1012+
if (err)
1013+
return dev_err_probe(&pdev->dev, err,
1014+
"can't register ADMAIF component\n");
10171015

10181016
pm_runtime_enable(&pdev->dev);
10191017

sound/soc/tegra/tegra210_adx.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -697,10 +697,9 @@ static int tegra210_adx_platform_probe(struct platform_device *pdev)
697697

698698
adx->regmap = devm_regmap_init_mmio(dev, regs,
699699
soc_data->regmap_conf);
700-
if (IS_ERR(adx->regmap)) {
701-
dev_err(dev, "regmap init failed\n");
702-
return PTR_ERR(adx->regmap);
703-
}
700+
if (IS_ERR(adx->regmap))
701+
return dev_err_probe(dev, PTR_ERR(adx->regmap),
702+
"regmap init failed\n");
704703

705704
regcache_cache_only(adx->regmap, true);
706705

sound/soc/tegra/tegra210_ahub.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2277,10 +2277,9 @@ static int tegra_ahub_probe(struct platform_device *pdev)
22772277

22782278
ahub->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
22792279
ahub->soc_data->regmap_config);
2280-
if (IS_ERR(ahub->regmap)) {
2281-
dev_err(&pdev->dev, "regmap init failed\n");
2282-
return PTR_ERR(ahub->regmap);
2283-
}
2280+
if (IS_ERR(ahub->regmap))
2281+
return dev_err_probe(&pdev->dev, PTR_ERR(ahub->regmap),
2282+
"regmap init failed\n");
22842283

22852284
regcache_cache_only(ahub->regmap, true);
22862285

sound/soc/tegra/tegra210_amx.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -745,10 +745,9 @@ static int tegra210_amx_platform_probe(struct platform_device *pdev)
745745

746746
amx->regmap = devm_regmap_init_mmio(dev, regs,
747747
amx->soc_data->regmap_conf);
748-
if (IS_ERR(amx->regmap)) {
749-
dev_err(dev, "regmap init failed\n");
750-
return PTR_ERR(amx->regmap);
751-
}
748+
if (IS_ERR(amx->regmap))
749+
return dev_err_probe(dev, PTR_ERR(amx->regmap),
750+
"regmap init failed\n");
752751

753752
regcache_cache_only(amx->regmap, true);
754753

sound/soc/tegra/tegra210_dmic.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -517,10 +517,9 @@ static int tegra210_dmic_probe(struct platform_device *pdev)
517517

518518
dmic->regmap = devm_regmap_init_mmio(dev, regs,
519519
&tegra210_dmic_regmap_config);
520-
if (IS_ERR(dmic->regmap)) {
521-
dev_err(dev, "regmap init failed\n");
522-
return PTR_ERR(dmic->regmap);
523-
}
520+
if (IS_ERR(dmic->regmap))
521+
return dev_err_probe(dev, PTR_ERR(dmic->regmap),
522+
"regmap init failed\n");
524523

525524
regcache_cache_only(dmic->regmap, true);
526525

sound/soc/tegra/tegra210_i2s.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,10 +1093,9 @@ static int tegra210_i2s_probe(struct platform_device *pdev)
10931093

10941094
i2s->regmap = devm_regmap_init_mmio(dev, regs,
10951095
i2s->soc_data->regmap_conf);
1096-
if (IS_ERR(i2s->regmap)) {
1097-
dev_err(dev, "regmap init failed\n");
1098-
return PTR_ERR(i2s->regmap);
1099-
}
1096+
if (IS_ERR(i2s->regmap))
1097+
return dev_err_probe(dev, PTR_ERR(i2s->regmap),
1098+
"regmap init failed\n");
11001099

11011100
tegra210_parse_client_convert(dev);
11021101

sound/soc/tegra/tegra210_mbdrc.c

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -994,14 +994,14 @@ int tegra210_mbdrc_regmap_init(struct platform_device *pdev)
994994

995995
child = of_get_child_by_name(dev->of_node, "dynamic-range-compressor");
996996
if (!child)
997-
return -ENODEV;
997+
return dev_err_probe(dev, -ENODEV,
998+
"missing 'dynamic-range-compressor' DT child node\n");
998999

9991000
err = of_address_to_resource(child, 0, &mem);
10001001
of_node_put(child);
1001-
if (err < 0) {
1002-
dev_err(dev, "fail to get MBDRC resource\n");
1003-
return err;
1004-
}
1002+
if (err < 0)
1003+
return dev_err_probe(dev, err,
1004+
"failed to get MBDRC resource\n");
10051005

10061006
mem.flags = IORESOURCE_MEM;
10071007
regs = devm_ioremap_resource(dev, &mem);
@@ -1010,10 +1010,9 @@ int tegra210_mbdrc_regmap_init(struct platform_device *pdev)
10101010

10111011
ope->mbdrc_regmap = devm_regmap_init_mmio(dev, regs,
10121012
&tegra210_mbdrc_regmap_cfg);
1013-
if (IS_ERR(ope->mbdrc_regmap)) {
1014-
dev_err(dev, "regmap init failed\n");
1015-
return PTR_ERR(ope->mbdrc_regmap);
1016-
}
1013+
if (IS_ERR(ope->mbdrc_regmap))
1014+
return dev_err_probe(dev, PTR_ERR(ope->mbdrc_regmap),
1015+
"MBDRC regmap init failed\n");
10171016

10181017
regcache_cache_only(ope->mbdrc_regmap, true);
10191018

sound/soc/tegra/tegra210_mixer.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -641,10 +641,9 @@ static int tegra210_mixer_platform_probe(struct platform_device *pdev)
641641

642642
mixer->regmap = devm_regmap_init_mmio(dev, regs,
643643
&tegra210_mixer_regmap_config);
644-
if (IS_ERR(mixer->regmap)) {
645-
dev_err(dev, "regmap init failed\n");
646-
return PTR_ERR(mixer->regmap);
647-
}
644+
if (IS_ERR(mixer->regmap))
645+
return dev_err_probe(dev, PTR_ERR(mixer->regmap),
646+
"regmap init failed\n");
648647

649648
regcache_cache_only(mixer->regmap, true);
650649

0 commit comments

Comments
 (0)