Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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.

+73 -96
+3 -4
sound/soc/tegra/tegra186_asrc.c
··· 989 989 990 990 asrc->regmap = devm_regmap_init_mmio(dev, regs, 991 991 &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"); 996 995 997 996 asrc->soc_data = of_device_get_match_data(&pdev->dev); 998 997
+3 -4
sound/soc/tegra/tegra186_dspk.c
··· 505 505 return PTR_ERR(regs); 506 506 507 507 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"); 512 511 513 512 regcache_cache_only(dspk->regmap, true); 514 513
+10 -12
sound/soc/tegra/tegra210_admaif.c
··· 408 408 reg = CH_RX_REG(TEGRA_ADMAIF_RX_ENABLE, dai->id); 409 409 break; 410 410 default: 411 + dev_err(dai->dev, "invalid stream direction: %d\n", direction); 411 412 return -EINVAL; 412 413 } 413 414 ··· 442 441 reset_reg = CH_RX_REG(TEGRA_ADMAIF_RX_SOFT_RESET, dai->id); 443 442 break; 444 443 default: 444 + dev_err(dai->dev, "invalid stream direction: %d\n", direction); 445 445 return -EINVAL; 446 446 } 447 447 ··· 491 489 case SNDRV_PCM_TRIGGER_SUSPEND: 492 490 return tegra_admaif_stop(dai, substream->stream); 493 491 default: 492 + dev_err(dai->dev, "invalid trigger command: %d\n", cmd); 494 493 return -EINVAL; 495 494 } 496 495 } ··· 961 958 962 959 admaif->regmap = devm_regmap_init_mmio(&pdev->dev, regs, 963 960 admaif->soc_data->regmap_conf); 964 - if (IS_ERR(admaif->regmap)) { 965 - dev_err(&pdev->dev, "regmap init failed\n"); 966 - return PTR_ERR(admaif->regmap); 967 - } 961 + if (IS_ERR(admaif->regmap)) 962 + return dev_err_probe(&pdev->dev, PTR_ERR(admaif->regmap), 963 + "regmap init failed\n"); 968 964 969 965 regcache_cache_only(admaif->regmap, true); 970 966 971 967 err = tegra_isomgr_adma_register(&pdev->dev); 972 - if (err) { 973 - dev_err(&pdev->dev, "Failed to add interconnect path\n"); 968 + if (err) 974 969 return err; 975 - } 976 970 977 971 regmap_update_bits(admaif->regmap, admaif->soc_data->global_base + 978 972 TEGRA_ADMAIF_GLOBAL_ENABLE, 1, 1); ··· 1009 1009 admaif->soc_data->cmpnt, 1010 1010 admaif->soc_data->dais, 1011 1011 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"); 1017 1015 1018 1016 pm_runtime_enable(&pdev->dev); 1019 1017
+3 -4
sound/soc/tegra/tegra210_adx.c
··· 697 697 698 698 adx->regmap = devm_regmap_init_mmio(dev, regs, 699 699 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"); 704 703 705 704 regcache_cache_only(adx->regmap, true); 706 705
+3 -4
sound/soc/tegra/tegra210_ahub.c
··· 2277 2277 2278 2278 ahub->regmap = devm_regmap_init_mmio(&pdev->dev, regs, 2279 2279 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"); 2284 2283 2285 2284 regcache_cache_only(ahub->regmap, true); 2286 2285
+3 -4
sound/soc/tegra/tegra210_amx.c
··· 745 745 746 746 amx->regmap = devm_regmap_init_mmio(dev, regs, 747 747 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"); 752 751 753 752 regcache_cache_only(amx->regmap, true); 754 753
+3 -4
sound/soc/tegra/tegra210_dmic.c
··· 517 517 518 518 dmic->regmap = devm_regmap_init_mmio(dev, regs, 519 519 &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"); 524 523 525 524 regcache_cache_only(dmic->regmap, true); 526 525
+3 -4
sound/soc/tegra/tegra210_i2s.c
··· 1093 1093 1094 1094 i2s->regmap = devm_regmap_init_mmio(dev, regs, 1095 1095 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"); 1100 1099 1101 1100 tegra210_parse_client_convert(dev); 1102 1101
+8 -9
sound/soc/tegra/tegra210_mbdrc.c
··· 994 994 995 995 child = of_get_child_by_name(dev->of_node, "dynamic-range-compressor"); 996 996 if (!child) 997 - return -ENODEV; 997 + return dev_err_probe(dev, -ENODEV, 998 + "missing 'dynamic-range-compressor' DT child node\n"); 998 999 999 1000 err = of_address_to_resource(child, 0, &mem); 1000 1001 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"); 1005 1005 1006 1006 mem.flags = IORESOURCE_MEM; 1007 1007 regs = devm_ioremap_resource(dev, &mem); ··· 1010 1010 1011 1011 ope->mbdrc_regmap = devm_regmap_init_mmio(dev, regs, 1012 1012 &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"); 1017 1016 1018 1017 regcache_cache_only(ope->mbdrc_regmap, true); 1019 1018
+3 -4
sound/soc/tegra/tegra210_mixer.c
··· 641 641 642 642 mixer->regmap = devm_regmap_init_mmio(dev, regs, 643 643 &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"); 648 647 649 648 regcache_cache_only(mixer->regmap, true); 650 649
+3 -4
sound/soc/tegra/tegra210_mvc.c
··· 731 731 732 732 mvc->regmap = devm_regmap_init_mmio(dev, regs, 733 733 &tegra210_mvc_regmap_config); 734 - if (IS_ERR(mvc->regmap)) { 735 - dev_err(dev, "regmap init failed\n"); 736 - return PTR_ERR(mvc->regmap); 737 - } 734 + if (IS_ERR(mvc->regmap)) 735 + return dev_err_probe(dev, PTR_ERR(mvc->regmap), 736 + "regmap init failed\n"); 738 737 739 738 regcache_cache_only(mvc->regmap, true); 740 739
+8 -14
sound/soc/tegra/tegra210_ope.c
··· 318 318 319 319 ope->regmap = devm_regmap_init_mmio(dev, regs, 320 320 &tegra210_ope_regmap_config); 321 - if (IS_ERR(ope->regmap)) { 322 - dev_err(dev, "regmap init failed\n"); 323 - return PTR_ERR(ope->regmap); 324 - } 321 + if (IS_ERR(ope->regmap)) 322 + return dev_err_probe(dev, PTR_ERR(ope->regmap), 323 + "regmap init failed\n"); 325 324 326 325 regcache_cache_only(ope->regmap, true); 327 326 328 327 dev_set_drvdata(dev, ope); 329 328 330 329 err = tegra210_peq_regmap_init(pdev); 331 - if (err < 0) { 332 - dev_err(dev, "PEQ init failed\n"); 330 + if (err < 0) 333 331 return err; 334 - } 335 332 336 333 err = tegra210_mbdrc_regmap_init(pdev); 337 - if (err < 0) { 338 - dev_err(dev, "MBDRC init failed\n"); 334 + if (err < 0) 339 335 return err; 340 - } 341 336 342 337 err = devm_snd_soc_register_component(dev, &tegra210_ope_cmpnt, 343 338 tegra210_ope_dais, 344 339 ARRAY_SIZE(tegra210_ope_dais)); 345 - if (err) { 346 - dev_err(dev, "can't register OPE component, err: %d\n", err); 347 - return err; 348 - } 340 + if (err) 341 + return dev_err_probe(dev, err, 342 + "can't register OPE component\n"); 349 343 350 344 pm_runtime_enable(dev); 351 345
+8 -9
sound/soc/tegra/tegra210_peq.c
··· 410 410 411 411 child = of_get_child_by_name(dev->of_node, "equalizer"); 412 412 if (!child) 413 - return -ENODEV; 413 + return dev_err_probe(dev, -ENODEV, 414 + "missing 'equalizer' DT child node\n"); 414 415 415 416 err = of_address_to_resource(child, 0, &mem); 416 417 of_node_put(child); 417 - if (err < 0) { 418 - dev_err(dev, "fail to get PEQ resource\n"); 419 - return err; 420 - } 418 + if (err < 0) 419 + return dev_err_probe(dev, err, 420 + "failed to get PEQ resource\n"); 421 421 422 422 mem.flags = IORESOURCE_MEM; 423 423 regs = devm_ioremap_resource(dev, &mem); ··· 425 425 return PTR_ERR(regs); 426 426 ope->peq_regmap = devm_regmap_init_mmio(dev, regs, 427 427 &tegra210_peq_regmap_config); 428 - if (IS_ERR(ope->peq_regmap)) { 429 - dev_err(dev, "regmap init failed\n"); 430 - return PTR_ERR(ope->peq_regmap); 431 - } 428 + if (IS_ERR(ope->peq_regmap)) 429 + return dev_err_probe(dev, PTR_ERR(ope->peq_regmap), 430 + "PEQ regmap init failed\n"); 432 431 433 432 regcache_cache_only(ope->peq_regmap, true); 434 433
+3 -4
sound/soc/tegra/tegra210_sfc.c
··· 3598 3598 3599 3599 sfc->regmap = devm_regmap_init_mmio(dev, regs, 3600 3600 &tegra210_sfc_regmap_config); 3601 - if (IS_ERR(sfc->regmap)) { 3602 - dev_err(dev, "regmap init failed\n"); 3603 - return PTR_ERR(sfc->regmap); 3604 - } 3601 + if (IS_ERR(sfc->regmap)) 3602 + return dev_err_probe(dev, PTR_ERR(sfc->regmap), 3603 + "regmap init failed\n"); 3605 3604 3606 3605 regcache_cache_only(sfc->regmap, true); 3607 3606
+9 -12
sound/soc/tegra/tegra_asoc_machine.c
··· 610 610 * host controller and the external codec 611 611 */ 612 612 err = clk_set_rate(machine->clk_pll_a, 73728000); 613 - if (err) { 614 - dev_err(dev, "Can't set pll_a rate: %d\n", err); 615 - return err; 616 - } 613 + if (err) 614 + return dev_err_probe(dev, err, 615 + "can't set pll_a rate\n"); 617 616 618 617 err = clk_set_rate(machine->clk_pll_a_out0, 24576000); 619 - if (err) { 620 - dev_err(dev, "Can't set pll_a_out0 rate: %d\n", err); 621 - return err; 622 - } 618 + if (err) 619 + return dev_err_probe(dev, err, 620 + "can't set pll_a_out0 rate\n"); 623 621 624 622 machine->set_baseclock = 73728000; 625 623 machine->set_mclk = 24576000; ··· 629 631 * only needed for audio. 630 632 */ 631 633 err = clk_prepare_enable(machine->clk_cdev1); 632 - if (err) { 633 - dev_err(dev, "Can't enable cdev1: %d\n", err); 634 - return err; 635 - } 634 + if (err) 635 + return dev_err_probe(dev, err, 636 + "can't enable cdev1\n"); 636 637 637 638 err = devm_snd_soc_register_card(dev, card); 638 639 if (err)