diff options
| author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-12-09 10:22:14 -0500 |
|---|---|---|
| committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-12-09 10:22:14 -0500 |
| commit | 4301aecbdfd2616c500ef629a463638dcd573a72 (patch) | |
| tree | 7643d3befdecb4d319598be33ade77b4f8ea7db5 | |
| parent | edbe08adea97cda5ac79b26b01d80ec8cf2154b7 (diff) | |
| parent | b1bc7b3c9c46d9966f22f05c7cdd9b3e67b13d55 (diff) | |
Merge remote-tracking branch 'asoc/topic/log' into asoc-next
| -rw-r--r-- | sound/soc/soc-cache.c | 10 | ||||
| -rw-r--r-- | sound/soc/soc-core.c | 241 | ||||
| -rw-r--r-- | sound/soc/soc-dapm.c | 134 | ||||
| -rw-r--r-- | sound/soc/soc-jack.c | 13 | ||||
| -rw-r--r-- | sound/soc/soc-pcm.c | 195 |
5 files changed, 309 insertions, 284 deletions
diff --git a/sound/soc/soc-cache.c b/sound/soc/soc-cache.c index 9d56f0218f41..e72f55428f0b 100644 --- a/sound/soc/soc-cache.c +++ b/sound/soc/soc-cache.c | |||
| @@ -88,7 +88,7 @@ static int snd_soc_flat_cache_sync(struct snd_soc_codec *codec) | |||
| 88 | ret = snd_soc_write(codec, i, val); | 88 | ret = snd_soc_write(codec, i, val); |
| 89 | if (ret) | 89 | if (ret) |
| 90 | return ret; | 90 | return ret; |
| 91 | dev_dbg(codec->dev, "Synced register %#x, value = %#x\n", | 91 | dev_dbg(codec->dev, "ASoC: Synced register %#x, value = %#x\n", |
| 92 | i, val); | 92 | i, val); |
| 93 | } | 93 | } |
| 94 | return 0; | 94 | return 0; |
| @@ -156,7 +156,7 @@ int snd_soc_cache_init(struct snd_soc_codec *codec) | |||
| 156 | 156 | ||
| 157 | /* Fall back to flat compression */ | 157 | /* Fall back to flat compression */ |
| 158 | if (i == ARRAY_SIZE(cache_types)) { | 158 | if (i == ARRAY_SIZE(cache_types)) { |
| 159 | dev_warn(codec->dev, "Could not match compress type: %d\n", | 159 | dev_warn(codec->dev, "ASoC: Could not match compress type: %d\n", |
| 160 | codec->compress_type); | 160 | codec->compress_type); |
| 161 | i = 0; | 161 | i = 0; |
| 162 | } | 162 | } |
| @@ -166,7 +166,7 @@ int snd_soc_cache_init(struct snd_soc_codec *codec) | |||
| 166 | 166 | ||
| 167 | if (codec->cache_ops->init) { | 167 | if (codec->cache_ops->init) { |
| 168 | if (codec->cache_ops->name) | 168 | if (codec->cache_ops->name) |
| 169 | dev_dbg(codec->dev, "Initializing %s cache for %s codec\n", | 169 | dev_dbg(codec->dev, "ASoC: Initializing %s cache for %s codec\n", |
| 170 | codec->cache_ops->name, codec->name); | 170 | codec->cache_ops->name, codec->name); |
| 171 | return codec->cache_ops->init(codec); | 171 | return codec->cache_ops->init(codec); |
| 172 | } | 172 | } |
| @@ -181,7 +181,7 @@ int snd_soc_cache_exit(struct snd_soc_codec *codec) | |||
| 181 | { | 181 | { |
| 182 | if (codec->cache_ops && codec->cache_ops->exit) { | 182 | if (codec->cache_ops && codec->cache_ops->exit) { |
| 183 | if (codec->cache_ops->name) | 183 | if (codec->cache_ops->name) |
| 184 | dev_dbg(codec->dev, "Destroying %s cache for %s codec\n", | 184 | dev_dbg(codec->dev, "ASoC: Destroying %s cache for %s codec\n", |
| 185 | codec->cache_ops->name, codec->name); | 185 | codec->cache_ops->name, codec->name); |
| 186 | return codec->cache_ops->exit(codec); | 186 | return codec->cache_ops->exit(codec); |
| 187 | } | 187 | } |
| @@ -265,7 +265,7 @@ int snd_soc_cache_sync(struct snd_soc_codec *codec) | |||
| 265 | name = "unknown"; | 265 | name = "unknown"; |
| 266 | 266 | ||
| 267 | if (codec->cache_ops->name) | 267 | if (codec->cache_ops->name) |
| 268 | dev_dbg(codec->dev, "Syncing %s cache for %s codec\n", | 268 | dev_dbg(codec->dev, "ASoC: Syncing %s cache for %s codec\n", |
| 269 | codec->cache_ops->name, codec->name); | 269 | codec->cache_ops->name, codec->name); |
| 270 | trace_snd_soc_cache_sync(codec, name, "start"); | 270 | trace_snd_soc_cache_sync(codec, name, "start"); |
| 271 | ret = codec->cache_ops->sync(codec); | 271 | ret = codec->cache_ops->sync(codec); |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 2153e19d8208..9c768bcb98a6 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
| @@ -271,7 +271,8 @@ static void soc_init_codec_debugfs(struct snd_soc_codec *codec) | |||
| 271 | codec->debugfs_codec_root = debugfs_create_dir(codec->name, | 271 | codec->debugfs_codec_root = debugfs_create_dir(codec->name, |
| 272 | debugfs_card_root); | 272 | debugfs_card_root); |
| 273 | if (!codec->debugfs_codec_root) { | 273 | if (!codec->debugfs_codec_root) { |
| 274 | dev_warn(codec->dev, "Failed to create codec debugfs directory\n"); | 274 | dev_warn(codec->dev, "ASoC: Failed to create codec debugfs" |
| 275 | " directory\n"); | ||
| 275 | return; | 276 | return; |
| 276 | } | 277 | } |
| 277 | 278 | ||
| @@ -284,7 +285,8 @@ static void soc_init_codec_debugfs(struct snd_soc_codec *codec) | |||
| 284 | codec->debugfs_codec_root, | 285 | codec->debugfs_codec_root, |
| 285 | codec, &codec_reg_fops); | 286 | codec, &codec_reg_fops); |
| 286 | if (!codec->debugfs_reg) | 287 | if (!codec->debugfs_reg) |
| 287 | dev_warn(codec->dev, "Failed to create codec register debugfs file\n"); | 288 | dev_warn(codec->dev, "ASoC: Failed to create codec register" |
| 289 | " debugfs file\n"); | ||
| 288 | 290 | ||
| 289 | snd_soc_dapm_debugfs_init(&codec->dapm, codec->debugfs_codec_root); | 291 | snd_soc_dapm_debugfs_init(&codec->dapm, codec->debugfs_codec_root); |
| 290 | } | 292 | } |
| @@ -302,7 +304,7 @@ static void soc_init_platform_debugfs(struct snd_soc_platform *platform) | |||
| 302 | debugfs_card_root); | 304 | debugfs_card_root); |
| 303 | if (!platform->debugfs_platform_root) { | 305 | if (!platform->debugfs_platform_root) { |
| 304 | dev_warn(platform->dev, | 306 | dev_warn(platform->dev, |
| 305 | "Failed to create platform debugfs directory\n"); | 307 | "ASoC: Failed to create platform debugfs directory\n"); |
| 306 | return; | 308 | return; |
| 307 | } | 309 | } |
| 308 | 310 | ||
| @@ -430,7 +432,7 @@ static void soc_init_card_debugfs(struct snd_soc_card *card) | |||
| 430 | &card->pop_time); | 432 | &card->pop_time); |
| 431 | if (!card->debugfs_pop_time) | 433 | if (!card->debugfs_pop_time) |
| 432 | dev_warn(card->dev, | 434 | dev_warn(card->dev, |
| 433 | "Failed to create pop time debugfs file\n"); | 435 | "ASoC: Failed to create pop time debugfs file\n"); |
| 434 | } | 436 | } |
| 435 | 437 | ||
| 436 | static void soc_cleanup_card_debugfs(struct snd_soc_card *card) | 438 | static void soc_cleanup_card_debugfs(struct snd_soc_card *card) |
| @@ -475,7 +477,7 @@ struct snd_pcm_substream *snd_soc_get_dai_substream(struct snd_soc_card *card, | |||
| 475 | !strcmp(card->rtd[i].dai_link->name, dai_link)) | 477 | !strcmp(card->rtd[i].dai_link->name, dai_link)) |
| 476 | return card->rtd[i].pcm->streams[stream].substream; | 478 | return card->rtd[i].pcm->streams[stream].substream; |
| 477 | } | 479 | } |
| 478 | dev_dbg(card->dev, "failed to find dai link %s\n", dai_link); | 480 | dev_dbg(card->dev, "ASoC: failed to find dai link %s\n", dai_link); |
| 479 | return NULL; | 481 | return NULL; |
| 480 | } | 482 | } |
| 481 | EXPORT_SYMBOL_GPL(snd_soc_get_dai_substream); | 483 | EXPORT_SYMBOL_GPL(snd_soc_get_dai_substream); |
| @@ -489,7 +491,7 @@ struct snd_soc_pcm_runtime *snd_soc_get_pcm_runtime(struct snd_soc_card *card, | |||
| 489 | if (!strcmp(card->rtd[i].dai_link->name, dai_link)) | 491 | if (!strcmp(card->rtd[i].dai_link->name, dai_link)) |
| 490 | return &card->rtd[i]; | 492 | return &card->rtd[i]; |
| 491 | } | 493 | } |
| 492 | dev_dbg(card->dev, "failed to find rtd %s\n", dai_link); | 494 | dev_dbg(card->dev, "ASoC: failed to find rtd %s\n", dai_link); |
| 493 | return NULL; | 495 | return NULL; |
| 494 | } | 496 | } |
| 495 | EXPORT_SYMBOL_GPL(snd_soc_get_pcm_runtime); | 497 | EXPORT_SYMBOL_GPL(snd_soc_get_pcm_runtime); |
| @@ -519,7 +521,7 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec) | |||
| 519 | codec->card->snd_card->number, 0, codec->name); | 521 | codec->card->snd_card->number, 0, codec->name); |
| 520 | err = device_register(&codec->ac97->dev); | 522 | err = device_register(&codec->ac97->dev); |
| 521 | if (err < 0) { | 523 | if (err < 0) { |
| 522 | snd_printk(KERN_ERR "Can't register ac97 bus\n"); | 524 | dev_err(codec->dev, "ASoC: Can't register ac97 bus\n"); |
| 523 | codec->ac97->dev.bus = NULL; | 525 | codec->ac97->dev.bus = NULL; |
| 524 | return err; | 526 | return err; |
| 525 | } | 527 | } |
| @@ -628,7 +630,8 @@ int snd_soc_suspend(struct device *dev) | |||
| 628 | */ | 630 | */ |
| 629 | if (codec->dapm.idle_bias_off) { | 631 | if (codec->dapm.idle_bias_off) { |
| 630 | dev_dbg(codec->dev, | 632 | dev_dbg(codec->dev, |
| 631 | "idle_bias_off CODEC on over suspend\n"); | 633 | "ASoC: idle_bias_off CODEC on" |
| 634 | " over suspend\n"); | ||
| 632 | break; | 635 | break; |
| 633 | } | 636 | } |
| 634 | case SND_SOC_BIAS_OFF: | 637 | case SND_SOC_BIAS_OFF: |
| @@ -639,7 +642,8 @@ int snd_soc_suspend(struct device *dev) | |||
| 639 | regcache_mark_dirty(codec->control_data); | 642 | regcache_mark_dirty(codec->control_data); |
| 640 | break; | 643 | break; |
| 641 | default: | 644 | default: |
| 642 | dev_dbg(codec->dev, "CODEC is on over suspend\n"); | 645 | dev_dbg(codec->dev, "ASoC: CODEC is on" |
| 646 | " over suspend\n"); | ||
| 643 | break; | 647 | break; |
| 644 | } | 648 | } |
| 645 | } | 649 | } |
| @@ -676,7 +680,7 @@ static void soc_resume_deferred(struct work_struct *work) | |||
| 676 | * so userspace apps are blocked from touching us | 680 | * so userspace apps are blocked from touching us |
| 677 | */ | 681 | */ |
| 678 | 682 | ||
| 679 | dev_dbg(card->dev, "starting resume work\n"); | 683 | dev_dbg(card->dev, "ASoC: starting resume work\n"); |
| 680 | 684 | ||
| 681 | /* Bring us up into D2 so that DAPM starts enabling things */ | 685 | /* Bring us up into D2 so that DAPM starts enabling things */ |
| 682 | snd_power_change_state(card->snd_card, SNDRV_CTL_POWER_D2); | 686 | snd_power_change_state(card->snd_card, SNDRV_CTL_POWER_D2); |
| @@ -708,7 +712,8 @@ static void soc_resume_deferred(struct work_struct *work) | |||
| 708 | codec->suspended = 0; | 712 | codec->suspended = 0; |
| 709 | break; | 713 | break; |
| 710 | default: | 714 | default: |
| 711 | dev_dbg(codec->dev, "CODEC was on over suspend\n"); | 715 | dev_dbg(codec->dev, "ASoC: CODEC was on over" |
| 716 | " suspend\n"); | ||
| 712 | break; | 717 | break; |
| 713 | } | 718 | } |
| 714 | } | 719 | } |
| @@ -758,7 +763,7 @@ static void soc_resume_deferred(struct work_struct *work) | |||
| 758 | if (card->resume_post) | 763 | if (card->resume_post) |
| 759 | card->resume_post(card); | 764 | card->resume_post(card); |
| 760 | 765 | ||
| 761 | dev_dbg(card->dev, "resume work completed\n"); | 766 | dev_dbg(card->dev, "ASoC: resume work completed\n"); |
| 762 | 767 | ||
| 763 | /* userspace can access us now we are back as we were before */ | 768 | /* userspace can access us now we are back as we were before */ |
| 764 | snd_power_change_state(card->snd_card, SNDRV_CTL_POWER_D0); | 769 | snd_power_change_state(card->snd_card, SNDRV_CTL_POWER_D0); |
| @@ -790,12 +795,12 @@ int snd_soc_resume(struct device *dev) | |||
| 790 | ac97_control |= cpu_dai->driver->ac97_control; | 795 | ac97_control |= cpu_dai->driver->ac97_control; |
| 791 | } | 796 | } |
| 792 | if (ac97_control) { | 797 | if (ac97_control) { |
| 793 | dev_dbg(dev, "Resuming AC97 immediately\n"); | 798 | dev_dbg(dev, "ASoC: Resuming AC97 immediately\n"); |
| 794 | soc_resume_deferred(&card->deferred_resume_work); | 799 | soc_resume_deferred(&card->deferred_resume_work); |
| 795 | } else { | 800 | } else { |
| 796 | dev_dbg(dev, "Scheduling resume work\n"); | 801 | dev_dbg(dev, "ASoC: Scheduling resume work\n"); |
| 797 | if (!schedule_work(&card->deferred_resume_work)) | 802 | if (!schedule_work(&card->deferred_resume_work)) |
| 798 | dev_err(dev, "resume work item may be lost\n"); | 803 | dev_err(dev, "ASoC: resume work item may be lost\n"); |
| 799 | } | 804 | } |
| 800 | 805 | ||
| 801 | return 0; | 806 | return 0; |
| @@ -818,7 +823,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, int num) | |||
| 818 | struct snd_soc_dai *codec_dai, *cpu_dai; | 823 | struct snd_soc_dai *codec_dai, *cpu_dai; |
| 819 | const char *platform_name; | 824 | const char *platform_name; |
| 820 | 825 | ||
| 821 | dev_dbg(card->dev, "binding %s at idx %d\n", dai_link->name, num); | 826 | dev_dbg(card->dev, "ASoC: binding %s at idx %d\n", dai_link->name, num); |
| 822 | 827 | ||
| 823 | /* Find CPU DAI from registered DAIs*/ | 828 | /* Find CPU DAI from registered DAIs*/ |
| 824 | list_for_each_entry(cpu_dai, &dai_list, list) { | 829 | list_for_each_entry(cpu_dai, &dai_list, list) { |
| @@ -836,7 +841,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, int num) | |||
| 836 | } | 841 | } |
| 837 | 842 | ||
| 838 | if (!rtd->cpu_dai) { | 843 | if (!rtd->cpu_dai) { |
| 839 | dev_err(card->dev, "CPU DAI %s not registered\n", | 844 | dev_err(card->dev, "ASoC: CPU DAI %s not registered\n", |
| 840 | dai_link->cpu_dai_name); | 845 | dai_link->cpu_dai_name); |
| 841 | return -EPROBE_DEFER; | 846 | return -EPROBE_DEFER; |
| 842 | } | 847 | } |
| @@ -867,14 +872,14 @@ static int soc_bind_dai_link(struct snd_soc_card *card, int num) | |||
| 867 | } | 872 | } |
| 868 | 873 | ||
| 869 | if (!rtd->codec_dai) { | 874 | if (!rtd->codec_dai) { |
| 870 | dev_err(card->dev, "CODEC DAI %s not registered\n", | 875 | dev_err(card->dev, "ASoC: CODEC DAI %s not registered\n", |
| 871 | dai_link->codec_dai_name); | 876 | dai_link->codec_dai_name); |
| 872 | return -EPROBE_DEFER; | 877 | return -EPROBE_DEFER; |
| 873 | } | 878 | } |
| 874 | } | 879 | } |
| 875 | 880 | ||
| 876 | if (!rtd->codec) { | 881 | if (!rtd->codec) { |
| 877 | dev_err(card->dev, "CODEC %s not registered\n", | 882 | dev_err(card->dev, "ASoC: CODEC %s not registered\n", |
| 878 | dai_link->codec_name); | 883 | dai_link->codec_name); |
| 879 | return -EPROBE_DEFER; | 884 | return -EPROBE_DEFER; |
| 880 | } | 885 | } |
| @@ -898,7 +903,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, int num) | |||
| 898 | rtd->platform = platform; | 903 | rtd->platform = platform; |
| 899 | } | 904 | } |
| 900 | if (!rtd->platform) { | 905 | if (!rtd->platform) { |
| 901 | dev_err(card->dev, "platform %s not registered\n", | 906 | dev_err(card->dev, "ASoC: platform %s not registered\n", |
| 902 | dai_link->platform_name); | 907 | dai_link->platform_name); |
| 903 | return -EPROBE_DEFER; | 908 | return -EPROBE_DEFER; |
| 904 | } | 909 | } |
| @@ -915,8 +920,8 @@ static int soc_remove_platform(struct snd_soc_platform *platform) | |||
| 915 | if (platform->driver->remove) { | 920 | if (platform->driver->remove) { |
| 916 | ret = platform->driver->remove(platform); | 921 | ret = platform->driver->remove(platform); |
| 917 | if (ret < 0) | 922 | if (ret < 0) |
| 918 | pr_err("asoc: failed to remove %s: %d\n", | 923 | dev_err(platform->dev, "ASoC: failed to remove %d\n", |
| 919 | platform->name, ret); | 924 | ret); |
| 920 | } | 925 | } |
| 921 | 926 | ||
| 922 | /* Make sure all DAPM widgets are freed */ | 927 | /* Make sure all DAPM widgets are freed */ |
| @@ -937,9 +942,7 @@ static void soc_remove_codec(struct snd_soc_codec *codec) | |||
| 937 | if (codec->driver->remove) { | 942 | if (codec->driver->remove) { |
| 938 | err = codec->driver->remove(codec); | 943 | err = codec->driver->remove(codec); |
| 939 | if (err < 0) | 944 | if (err < 0) |
| 940 | dev_err(codec->dev, | 945 | dev_err(codec->dev, "ASoC: failed to remove %d\n", err); |
| 941 | "asoc: failed to remove %s: %d\n", | ||
| 942 | codec->name, err); | ||
| 943 | } | 946 | } |
| 944 | 947 | ||
| 945 | /* Make sure all DAPM widgets are freed */ | 948 | /* Make sure all DAPM widgets are freed */ |
| @@ -971,8 +974,9 @@ static void soc_remove_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 971 | if (codec_dai->driver->remove) { | 974 | if (codec_dai->driver->remove) { |
| 972 | err = codec_dai->driver->remove(codec_dai); | 975 | err = codec_dai->driver->remove(codec_dai); |
| 973 | if (err < 0) | 976 | if (err < 0) |
| 974 | pr_err("asoc: failed to remove %s: %d\n", | 977 | dev_err(codec_dai->dev, |
| 975 | codec_dai->name, err); | 978 | "ASoC: failed to remove %s: %d\n", |
| 979 | codec_dai->name, err); | ||
| 976 | } | 980 | } |
| 977 | codec_dai->probed = 0; | 981 | codec_dai->probed = 0; |
| 978 | list_del(&codec_dai->card_list); | 982 | list_del(&codec_dai->card_list); |
| @@ -984,8 +988,9 @@ static void soc_remove_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 984 | if (cpu_dai->driver->remove) { | 988 | if (cpu_dai->driver->remove) { |
| 985 | err = cpu_dai->driver->remove(cpu_dai); | 989 | err = cpu_dai->driver->remove(cpu_dai); |
| 986 | if (err < 0) | 990 | if (err < 0) |
| 987 | pr_err("asoc: failed to remove %s: %d\n", | 991 | dev_err(cpu_dai->dev, |
| 988 | cpu_dai->name, err); | 992 | "ASoC: failed to remove %s: %d\n", |
| 993 | cpu_dai->name, err); | ||
| 989 | } | 994 | } |
| 990 | cpu_dai->probed = 0; | 995 | cpu_dai->probed = 0; |
| 991 | list_del(&cpu_dai->card_list); | 996 | list_del(&cpu_dai->card_list); |
| @@ -1099,8 +1104,7 @@ static int soc_probe_codec(struct snd_soc_card *card, | |||
| 1099 | ret = driver->probe(codec); | 1104 | ret = driver->probe(codec); |
| 1100 | if (ret < 0) { | 1105 | if (ret < 0) { |
| 1101 | dev_err(codec->dev, | 1106 | dev_err(codec->dev, |
| 1102 | "asoc: failed to probe CODEC %s: %d\n", | 1107 | "ASoC: failed to probe CODEC %d\n", ret); |
| 1103 | codec->name, ret); | ||
| 1104 | goto err_probe; | 1108 | goto err_probe; |
| 1105 | } | 1109 | } |
| 1106 | } | 1110 | } |
| @@ -1163,8 +1167,7 @@ static int soc_probe_platform(struct snd_soc_card *card, | |||
| 1163 | ret = driver->probe(platform); | 1167 | ret = driver->probe(platform); |
| 1164 | if (ret < 0) { | 1168 | if (ret < 0) { |
| 1165 | dev_err(platform->dev, | 1169 | dev_err(platform->dev, |
| 1166 | "asoc: failed to probe platform %s: %d\n", | 1170 | "ASoC: failed to probe platform %d\n", ret); |
| 1167 | platform->name, ret); | ||
| 1168 | goto err_probe; | 1171 | goto err_probe; |
| 1169 | } | 1172 | } |
| 1170 | } | 1173 | } |
| @@ -1229,7 +1232,7 @@ static int soc_post_component_init(struct snd_soc_card *card, | |||
| 1229 | else if (dailess && aux_dev->init) | 1232 | else if (dailess && aux_dev->init) |
| 1230 | ret = aux_dev->init(&codec->dapm); | 1233 | ret = aux_dev->init(&codec->dapm); |
| 1231 | if (ret < 0) { | 1234 | if (ret < 0) { |
| 1232 | dev_err(card->dev, "asoc: failed to init %s: %d\n", name, ret); | 1235 | dev_err(card->dev, "ASoC: failed to init %s: %d\n", name, ret); |
| 1233 | return ret; | 1236 | return ret; |
| 1234 | } | 1237 | } |
| 1235 | codec->name_prefix = temp; | 1238 | codec->name_prefix = temp; |
| @@ -1253,7 +1256,7 @@ static int soc_post_component_init(struct snd_soc_card *card, | |||
| 1253 | ret = device_add(rtd->dev); | 1256 | ret = device_add(rtd->dev); |
| 1254 | if (ret < 0) { | 1257 | if (ret < 0) { |
| 1255 | dev_err(card->dev, | 1258 | dev_err(card->dev, |
| 1256 | "asoc: failed to register runtime device: %d\n", ret); | 1259 | "ASoC: failed to register runtime device: %d\n", ret); |
| 1257 | return ret; | 1260 | return ret; |
| 1258 | } | 1261 | } |
| 1259 | rtd->dev_registered = 1; | 1262 | rtd->dev_registered = 1; |
| @@ -1262,14 +1265,13 @@ static int soc_post_component_init(struct snd_soc_card *card, | |||
| 1262 | ret = snd_soc_dapm_sys_add(rtd->dev); | 1265 | ret = snd_soc_dapm_sys_add(rtd->dev); |
| 1263 | if (ret < 0) | 1266 | if (ret < 0) |
| 1264 | dev_err(codec->dev, | 1267 | dev_err(codec->dev, |
| 1265 | "asoc: failed to add codec dapm sysfs entries: %d\n", | 1268 | "ASoC: failed to add codec dapm sysfs entries: %d\n", ret); |
| 1266 | ret); | ||
| 1267 | 1269 | ||
| 1268 | /* add codec sysfs entries */ | 1270 | /* add codec sysfs entries */ |
| 1269 | ret = device_create_file(rtd->dev, &dev_attr_codec_reg); | 1271 | ret = device_create_file(rtd->dev, &dev_attr_codec_reg); |
| 1270 | if (ret < 0) | 1272 | if (ret < 0) |
| 1271 | dev_err(codec->dev, | 1273 | dev_err(codec->dev, |
| 1272 | "asoc: failed to add codec sysfs files: %d\n", ret); | 1274 | "ASoC: failed to add codec sysfs files: %d\n", ret); |
| 1273 | 1275 | ||
| 1274 | #ifdef CONFIG_DEBUG_FS | 1276 | #ifdef CONFIG_DEBUG_FS |
| 1275 | /* add DPCM sysfs entries */ | 1277 | /* add DPCM sysfs entries */ |
| @@ -1278,7 +1280,7 @@ static int soc_post_component_init(struct snd_soc_card *card, | |||
| 1278 | 1280 | ||
| 1279 | ret = soc_dpcm_debugfs_add(rtd); | 1281 | ret = soc_dpcm_debugfs_add(rtd); |
| 1280 | if (ret < 0) | 1282 | if (ret < 0) |
| 1281 | dev_err(rtd->dev, "asoc: failed to add dpcm sysfs entries: %d\n", ret); | 1283 | dev_err(rtd->dev, "ASoC: failed to add dpcm sysfs entries: %d\n", ret); |
| 1282 | 1284 | ||
| 1283 | out: | 1285 | out: |
| 1284 | #endif | 1286 | #endif |
| @@ -1333,7 +1335,7 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 1333 | struct snd_soc_dapm_widget *play_w, *capture_w; | 1335 | struct snd_soc_dapm_widget *play_w, *capture_w; |
| 1334 | int ret; | 1336 | int ret; |
| 1335 | 1337 | ||
| 1336 | dev_dbg(card->dev, "probe %s dai link %d late %d\n", | 1338 | dev_dbg(card->dev, "ASoC: probe %s dai link %d late %d\n", |
| 1337 | card->name, num, order); | 1339 | card->name, num, order); |
| 1338 | 1340 | ||
| 1339 | /* config components */ | 1341 | /* config components */ |
| @@ -1359,8 +1361,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 1359 | if (cpu_dai->driver->probe) { | 1361 | if (cpu_dai->driver->probe) { |
| 1360 | ret = cpu_dai->driver->probe(cpu_dai); | 1362 | ret = cpu_dai->driver->probe(cpu_dai); |
| 1361 | if (ret < 0) { | 1363 | if (ret < 0) { |
| 1362 | pr_err("asoc: failed to probe CPU DAI %s: %d\n", | 1364 | dev_err(cpu_dai->dev, |
| 1363 | cpu_dai->name, ret); | 1365 | "ASoC: failed to probe CPU DAI %s: %d\n", |
| 1366 | cpu_dai->name, ret); | ||
| 1364 | module_put(cpu_dai->dev->driver->owner); | 1367 | module_put(cpu_dai->dev->driver->owner); |
| 1365 | return ret; | 1368 | return ret; |
| 1366 | } | 1369 | } |
| @@ -1375,8 +1378,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 1375 | if (codec_dai->driver->probe) { | 1378 | if (codec_dai->driver->probe) { |
| 1376 | ret = codec_dai->driver->probe(codec_dai); | 1379 | ret = codec_dai->driver->probe(codec_dai); |
| 1377 | if (ret < 0) { | 1380 | if (ret < 0) { |
| 1378 | pr_err("asoc: failed to probe CODEC DAI %s: %d\n", | 1381 | dev_err(codec_dai->dev, |
| 1379 | codec_dai->name, ret); | 1382 | "ASoC: failed to probe CODEC DAI %s: %d\n", |
| 1383 | codec_dai->name, ret); | ||
| 1380 | return ret; | 1384 | return ret; |
| 1381 | } | 1385 | } |
| 1382 | } | 1386 | } |
| @@ -1396,13 +1400,14 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 1396 | 1400 | ||
| 1397 | ret = device_create_file(rtd->dev, &dev_attr_pmdown_time); | 1401 | ret = device_create_file(rtd->dev, &dev_attr_pmdown_time); |
| 1398 | if (ret < 0) | 1402 | if (ret < 0) |
| 1399 | pr_warn("asoc: failed to add pmdown_time sysfs:%d\n", ret); | 1403 | dev_warn(rtd->dev, "ASoC: failed to add pmdown_time sysfs: %d\n", |
| 1404 | ret); | ||
| 1400 | 1405 | ||
| 1401 | if (cpu_dai->driver->compress_dai) { | 1406 | if (cpu_dai->driver->compress_dai) { |
| 1402 | /*create compress_device"*/ | 1407 | /*create compress_device"*/ |
| 1403 | ret = soc_new_compress(rtd, num); | 1408 | ret = soc_new_compress(rtd, num); |
| 1404 | if (ret < 0) { | 1409 | if (ret < 0) { |
| 1405 | pr_err("asoc: can't create compress %s\n", | 1410 | dev_err(card->dev, "ASoC: can't create compress %s\n", |
| 1406 | dai_link->stream_name); | 1411 | dai_link->stream_name); |
| 1407 | return ret; | 1412 | return ret; |
| 1408 | } | 1413 | } |
| @@ -1412,7 +1417,7 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 1412 | /* create the pcm */ | 1417 | /* create the pcm */ |
| 1413 | ret = soc_new_pcm(rtd, num); | 1418 | ret = soc_new_pcm(rtd, num); |
| 1414 | if (ret < 0) { | 1419 | if (ret < 0) { |
| 1415 | pr_err("asoc: can't create pcm %s :%d\n", | 1420 | dev_err(card->dev, "ASoC: can't create pcm %s :%d\n", |
| 1416 | dai_link->stream_name, ret); | 1421 | dai_link->stream_name, ret); |
| 1417 | return ret; | 1422 | return ret; |
| 1418 | } | 1423 | } |
| @@ -1424,7 +1429,7 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 1424 | ret = snd_soc_dapm_new_pcm(card, dai_link->params, | 1429 | ret = snd_soc_dapm_new_pcm(card, dai_link->params, |
| 1425 | capture_w, play_w); | 1430 | capture_w, play_w); |
| 1426 | if (ret != 0) { | 1431 | if (ret != 0) { |
| 1427 | dev_err(card->dev, "Can't link %s to %s: %d\n", | 1432 | dev_err(card->dev, "ASoC: Can't link %s to %s: %d\n", |
| 1428 | play_w->name, capture_w->name, ret); | 1433 | play_w->name, capture_w->name, ret); |
| 1429 | return ret; | 1434 | return ret; |
| 1430 | } | 1435 | } |
| @@ -1436,7 +1441,7 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order) | |||
| 1436 | ret = snd_soc_dapm_new_pcm(card, dai_link->params, | 1441 | ret = snd_soc_dapm_new_pcm(card, dai_link->params, |
| 1437 | capture_w, play_w); | 1442 | capture_w, play_w); |
| 1438 | if (ret != 0) { | 1443 | if (ret != 0) { |
| 1439 | dev_err(card->dev, "Can't link %s to %s: %d\n", | 1444 | dev_err(card->dev, "ASoC: Can't link %s to %s: %d\n", |
| 1440 | play_w->name, capture_w->name, ret); | 1445 | play_w->name, capture_w->name, ret); |
| 1441 | return ret; | 1446 | return ret; |
| 1442 | } | 1447 | } |
| @@ -1473,7 +1478,8 @@ static int soc_register_ac97_dai_link(struct snd_soc_pcm_runtime *rtd) | |||
| 1473 | 1478 | ||
| 1474 | ret = soc_ac97_dev_register(rtd->codec); | 1479 | ret = soc_ac97_dev_register(rtd->codec); |
| 1475 | if (ret < 0) { | 1480 | if (ret < 0) { |
| 1476 | pr_err("asoc: AC97 device register failed:%d\n", ret); | 1481 | dev_err(rtd->codec->dev, |
| 1482 | "ASoC: AC97 device register failed: %d\n", ret); | ||
| 1477 | return ret; | 1483 | return ret; |
| 1478 | } | 1484 | } |
| 1479 | 1485 | ||
| @@ -1502,7 +1508,7 @@ static int soc_check_aux_dev(struct snd_soc_card *card, int num) | |||
| 1502 | return 0; | 1508 | return 0; |
| 1503 | } | 1509 | } |
| 1504 | 1510 | ||
| 1505 | dev_err(card->dev, "%s not registered\n", aux_dev->codec_name); | 1511 | dev_err(card->dev, "ASoC: %s not registered\n", aux_dev->codec_name); |
| 1506 | 1512 | ||
| 1507 | return -EPROBE_DEFER; | 1513 | return -EPROBE_DEFER; |
| 1508 | } | 1514 | } |
| @@ -1518,7 +1524,7 @@ static int soc_probe_aux_dev(struct snd_soc_card *card, int num) | |||
| 1518 | if (!strcmp(codec->name, aux_dev->codec_name)) { | 1524 | if (!strcmp(codec->name, aux_dev->codec_name)) { |
| 1519 | if (codec->probed) { | 1525 | if (codec->probed) { |
| 1520 | dev_err(codec->dev, | 1526 | dev_err(codec->dev, |
| 1521 | "asoc: codec already probed"); | 1527 | "ASoC: codec already probed"); |
| 1522 | ret = -EBUSY; | 1528 | ret = -EBUSY; |
| 1523 | goto out; | 1529 | goto out; |
| 1524 | } | 1530 | } |
| @@ -1526,7 +1532,7 @@ static int soc_probe_aux_dev(struct snd_soc_card *card, int num) | |||
| 1526 | } | 1532 | } |
| 1527 | } | 1533 | } |
| 1528 | /* codec not found */ | 1534 | /* codec not found */ |
| 1529 | dev_err(card->dev, "asoc: codec %s not found", aux_dev->codec_name); | 1535 | dev_err(card->dev, "ASoC: codec %s not found", aux_dev->codec_name); |
| 1530 | return -EPROBE_DEFER; | 1536 | return -EPROBE_DEFER; |
| 1531 | 1537 | ||
| 1532 | found: | 1538 | found: |
| @@ -1569,8 +1575,8 @@ static int snd_soc_init_codec_cache(struct snd_soc_codec *codec, | |||
| 1569 | codec->compress_type = compress_type; | 1575 | codec->compress_type = compress_type; |
| 1570 | ret = snd_soc_cache_init(codec); | 1576 | ret = snd_soc_cache_init(codec); |
| 1571 | if (ret < 0) { | 1577 | if (ret < 0) { |
| 1572 | dev_err(codec->dev, "Failed to set cache compression type: %d\n", | 1578 | dev_err(codec->dev, "ASoC: Failed to set cache compression" |
| 1573 | ret); | 1579 | " type: %d\n", ret); |
| 1574 | return ret; | 1580 | return ret; |
| 1575 | } | 1581 | } |
| 1576 | codec->cache_init = 1; | 1582 | codec->cache_init = 1; |
| @@ -1626,8 +1632,8 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1626 | ret = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, | 1632 | ret = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1, |
| 1627 | card->owner, 0, &card->snd_card); | 1633 | card->owner, 0, &card->snd_card); |
| 1628 | if (ret < 0) { | 1634 | if (ret < 0) { |
| 1629 | pr_err("asoc: can't create sound card for card %s: %d\n", | 1635 | dev_err(card->dev, "ASoC: can't create sound card for" |
| 1630 | card->name, ret); | 1636 | " card %s: %d\n", card->name, ret); |
| 1631 | goto base_error; | 1637 | goto base_error; |
| 1632 | } | 1638 | } |
| 1633 | card->snd_card->dev = card->dev; | 1639 | card->snd_card->dev = card->dev; |
| @@ -1663,8 +1669,9 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1663 | for (i = 0; i < card->num_links; i++) { | 1669 | for (i = 0; i < card->num_links; i++) { |
| 1664 | ret = soc_probe_link_components(card, i, order); | 1670 | ret = soc_probe_link_components(card, i, order); |
| 1665 | if (ret < 0) { | 1671 | if (ret < 0) { |
| 1666 | pr_err("asoc: failed to instantiate card %s: %d\n", | 1672 | dev_err(card->dev, |
| 1667 | card->name, ret); | 1673 | "ASoC: failed to instantiate card %d\n", |
| 1674 | ret); | ||
| 1668 | goto probe_dai_err; | 1675 | goto probe_dai_err; |
| 1669 | } | 1676 | } |
| 1670 | } | 1677 | } |
| @@ -1676,8 +1683,9 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1676 | for (i = 0; i < card->num_links; i++) { | 1683 | for (i = 0; i < card->num_links; i++) { |
| 1677 | ret = soc_probe_link_dais(card, i, order); | 1684 | ret = soc_probe_link_dais(card, i, order); |
| 1678 | if (ret < 0) { | 1685 | if (ret < 0) { |
| 1679 | pr_err("asoc: failed to instantiate card %s: %d\n", | 1686 | dev_err(card->dev, |
| 1680 | card->name, ret); | 1687 | "ASoC: failed to instantiate card %d\n", |
| 1688 | ret); | ||
| 1681 | goto probe_dai_err; | 1689 | goto probe_dai_err; |
| 1682 | } | 1690 | } |
| 1683 | } | 1691 | } |
| @@ -1686,8 +1694,9 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1686 | for (i = 0; i < card->num_aux_devs; i++) { | 1694 | for (i = 0; i < card->num_aux_devs; i++) { |
| 1687 | ret = soc_probe_aux_dev(card, i); | 1695 | ret = soc_probe_aux_dev(card, i); |
| 1688 | if (ret < 0) { | 1696 | if (ret < 0) { |
| 1689 | pr_err("asoc: failed to add auxiliary devices %s: %d\n", | 1697 | dev_err(card->dev, |
| 1690 | card->name, ret); | 1698 | "ASoC: failed to add auxiliary devices %d\n", |
| 1699 | ret); | ||
| 1691 | goto probe_aux_dev_err; | 1700 | goto probe_aux_dev_err; |
| 1692 | } | 1701 | } |
| 1693 | } | 1702 | } |
| @@ -1712,7 +1721,7 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1712 | dai_fmt); | 1721 | dai_fmt); |
| 1713 | if (ret != 0 && ret != -ENOTSUPP) | 1722 | if (ret != 0 && ret != -ENOTSUPP) |
| 1714 | dev_warn(card->rtd[i].codec_dai->dev, | 1723 | dev_warn(card->rtd[i].codec_dai->dev, |
| 1715 | "Failed to set DAI format: %d\n", | 1724 | "ASoC: Failed to set DAI format: %d\n", |
| 1716 | ret); | 1725 | ret); |
| 1717 | } | 1726 | } |
| 1718 | 1727 | ||
| @@ -1723,7 +1732,7 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1723 | dai_fmt); | 1732 | dai_fmt); |
| 1724 | if (ret != 0 && ret != -ENOTSUPP) | 1733 | if (ret != 0 && ret != -ENOTSUPP) |
| 1725 | dev_warn(card->rtd[i].cpu_dai->dev, | 1734 | dev_warn(card->rtd[i].cpu_dai->dev, |
| 1726 | "Failed to set DAI format: %d\n", | 1735 | "ASoC: Failed to set DAI format: %d\n", |
| 1727 | ret); | 1736 | ret); |
| 1728 | } else if (dai_fmt) { | 1737 | } else if (dai_fmt) { |
| 1729 | /* Flip the polarity for the "CPU" end */ | 1738 | /* Flip the polarity for the "CPU" end */ |
| @@ -1748,7 +1757,7 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1748 | dai_fmt); | 1757 | dai_fmt); |
| 1749 | if (ret != 0 && ret != -ENOTSUPP) | 1758 | if (ret != 0 && ret != -ENOTSUPP) |
| 1750 | dev_warn(card->rtd[i].cpu_dai->dev, | 1759 | dev_warn(card->rtd[i].cpu_dai->dev, |
| 1751 | "Failed to set DAI format: %d\n", | 1760 | "ASoC: Failed to set DAI format: %d\n", |
| 1752 | ret); | 1761 | ret); |
| 1753 | } | 1762 | } |
| 1754 | } | 1763 | } |
| @@ -1775,7 +1784,7 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1775 | if (card->late_probe) { | 1784 | if (card->late_probe) { |
| 1776 | ret = card->late_probe(card); | 1785 | ret = card->late_probe(card); |
| 1777 | if (ret < 0) { | 1786 | if (ret < 0) { |
| 1778 | dev_err(card->dev, "%s late_probe() failed: %d\n", | 1787 | dev_err(card->dev, "ASoC: %s late_probe() failed: %d\n", |
| 1779 | card->name, ret); | 1788 | card->name, ret); |
| 1780 | goto probe_aux_dev_err; | 1789 | goto probe_aux_dev_err; |
| 1781 | } | 1790 | } |
| @@ -1789,8 +1798,8 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1789 | 1798 | ||
| 1790 | ret = snd_card_register(card->snd_card); | 1799 | ret = snd_card_register(card->snd_card); |
| 1791 | if (ret < 0) { | 1800 | if (ret < 0) { |
| 1792 | pr_err("asoc: failed to register soundcard for %s: %d\n", | 1801 | dev_err(card->dev, "ASoC: failed to register soundcard %d\n", |
| 1793 | card->name, ret); | 1802 | ret); |
| 1794 | goto probe_aux_dev_err; | 1803 | goto probe_aux_dev_err; |
| 1795 | } | 1804 | } |
| 1796 | 1805 | ||
| @@ -1799,8 +1808,8 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) | |||
| 1799 | for (i = 0; i < card->num_rtd; i++) { | 1808 | for (i = 0; i < card->num_rtd; i++) { |
| 1800 | ret = soc_register_ac97_dai_link(&card->rtd[i]); | 1809 | ret = soc_register_ac97_dai_link(&card->rtd[i]); |
| 1801 | if (ret < 0) { | 1810 | if (ret < 0) { |
| 1802 | pr_err("asoc: failed to register AC97 %s: %d\n", | 1811 | dev_err(card->dev, "ASoC: failed to register AC97:" |
| 1803 | card->name, ret); | 1812 | " %d\n", ret); |
| 1804 | while (--i >= 0) | 1813 | while (--i >= 0) |
| 1805 | soc_unregister_ac97_dai_link(card->rtd[i].codec); | 1814 | soc_unregister_ac97_dai_link(card->rtd[i].codec); |
| 1806 | goto probe_aux_dev_err; | 1815 | goto probe_aux_dev_err; |
| @@ -1846,7 +1855,7 @@ static int soc_probe(struct platform_device *pdev) | |||
| 1846 | return -EINVAL; | 1855 | return -EINVAL; |
| 1847 | 1856 | ||
| 1848 | dev_warn(&pdev->dev, | 1857 | dev_warn(&pdev->dev, |
| 1849 | "ASoC machine %s should use snd_soc_register_card()\n", | 1858 | "ASoC: machine %s should use snd_soc_register_card()\n", |
| 1850 | card->name); | 1859 | card->name); |
| 1851 | 1860 | ||
| 1852 | /* Bodge while we unpick instantiation */ | 1861 | /* Bodge while we unpick instantiation */ |
| @@ -1996,7 +2005,7 @@ int snd_soc_platform_read(struct snd_soc_platform *platform, | |||
| 1996 | unsigned int ret; | 2005 | unsigned int ret; |
| 1997 | 2006 | ||
| 1998 | if (!platform->driver->read) { | 2007 | if (!platform->driver->read) { |
| 1999 | dev_err(platform->dev, "platform has no read back\n"); | 2008 | dev_err(platform->dev, "ASoC: platform has no read back\n"); |
| 2000 | return -1; | 2009 | return -1; |
| 2001 | } | 2010 | } |
| 2002 | 2011 | ||
| @@ -2012,7 +2021,7 @@ int snd_soc_platform_write(struct snd_soc_platform *platform, | |||
| 2012 | unsigned int reg, unsigned int val) | 2021 | unsigned int reg, unsigned int val) |
| 2013 | { | 2022 | { |
| 2014 | if (!platform->driver->write) { | 2023 | if (!platform->driver->write) { |
| 2015 | dev_err(platform->dev, "platform has no write back\n"); | 2024 | dev_err(platform->dev, "ASoC: platform has no write back\n"); |
| 2016 | return -1; | 2025 | return -1; |
| 2017 | } | 2026 | } |
| 2018 | 2027 | ||
| @@ -2283,7 +2292,8 @@ static int snd_soc_add_controls(struct snd_card *card, struct device *dev, | |||
| 2283 | err = snd_ctl_add(card, snd_soc_cnew(control, data, | 2292 | err = snd_ctl_add(card, snd_soc_cnew(control, data, |
| 2284 | control->name, prefix)); | 2293 | control->name, prefix)); |
| 2285 | if (err < 0) { | 2294 | if (err < 0) { |
| 2286 | dev_err(dev, "Failed to add %s: %d\n", control->name, err); | 2295 | dev_err(dev, "ASoC: Failed to add %s: %d\n", |
| 2296 | control->name, err); | ||
| 2287 | return err; | 2297 | return err; |
| 2288 | } | 2298 | } |
| 2289 | } | 2299 | } |
| @@ -3534,15 +3544,14 @@ int snd_soc_register_card(struct snd_soc_card *card) | |||
| 3534 | * not both or neither. | 3544 | * not both or neither. |
| 3535 | */ | 3545 | */ |
| 3536 | if (!!link->codec_name == !!link->codec_of_node) { | 3546 | if (!!link->codec_name == !!link->codec_of_node) { |
| 3537 | dev_err(card->dev, | 3547 | dev_err(card->dev, "ASoC: Neither/both codec" |
| 3538 | "Neither/both codec name/of_node are set for %s\n", | 3548 | " name/of_node are set for %s\n", link->name); |
| 3539 | link->name); | ||
| 3540 | return -EINVAL; | 3549 | return -EINVAL; |
| 3541 | } | 3550 | } |
| 3542 | /* Codec DAI name must be specified */ | 3551 | /* Codec DAI name must be specified */ |
| 3543 | if (!link->codec_dai_name) { | 3552 | if (!link->codec_dai_name) { |
| 3544 | dev_err(card->dev, "codec_dai_name not set for %s\n", | 3553 | dev_err(card->dev, "ASoC: codec_dai_name not" |
| 3545 | link->name); | 3554 | " set for %s\n", link->name); |
| 3546 | return -EINVAL; | 3555 | return -EINVAL; |
| 3547 | } | 3556 | } |
| 3548 | 3557 | ||
| @@ -3551,8 +3560,8 @@ int snd_soc_register_card(struct snd_soc_card *card) | |||
| 3551 | * can be left unspecified, and a dummy platform will be used. | 3560 | * can be left unspecified, and a dummy platform will be used. |
| 3552 | */ | 3561 | */ |
| 3553 | if (link->platform_name && link->platform_of_node) { | 3562 | if (link->platform_name && link->platform_of_node) { |
| 3554 | dev_err(card->dev, | 3563 | dev_err(card->dev, "ASoC: Both platform name/of_node" |
| 3555 | "Both platform name/of_node are set for %s\n", link->name); | 3564 | " are set for %s\n", link->name); |
| 3556 | return -EINVAL; | 3565 | return -EINVAL; |
| 3557 | } | 3566 | } |
| 3558 | 3567 | ||
| @@ -3562,9 +3571,8 @@ int snd_soc_register_card(struct snd_soc_card *card) | |||
| 3562 | * name alone.. | 3571 | * name alone.. |
| 3563 | */ | 3572 | */ |
| 3564 | if (link->cpu_name && link->cpu_of_node) { | 3573 | if (link->cpu_name && link->cpu_of_node) { |
| 3565 | dev_err(card->dev, | 3574 | dev_err(card->dev, "ASoC: Neither/both " |
| 3566 | "Neither/both cpu name/of_node are set for %s\n", | 3575 | "cpu name/of_node are set for %s\n",link->name); |
| 3567 | link->name); | ||
| 3568 | return -EINVAL; | 3576 | return -EINVAL; |
| 3569 | } | 3577 | } |
| 3570 | /* | 3578 | /* |
| @@ -3573,9 +3581,8 @@ int snd_soc_register_card(struct snd_soc_card *card) | |||
| 3573 | */ | 3581 | */ |
| 3574 | if (!link->cpu_dai_name && | 3582 | if (!link->cpu_dai_name && |
| 3575 | !(link->cpu_name || link->cpu_of_node)) { | 3583 | !(link->cpu_name || link->cpu_of_node)) { |
| 3576 | dev_err(card->dev, | 3584 | dev_err(card->dev, "ASoC: Neither cpu_dai_name nor " |
| 3577 | "Neither cpu_dai_name nor cpu_name/of_node are set for %s\n", | 3585 | "cpu_name/of_node are set for %s\n", link->name); |
| 3578 | link->name); | ||
| 3579 | return -EINVAL; | 3586 | return -EINVAL; |
| 3580 | } | 3587 | } |
| 3581 | } | 3588 | } |
| @@ -3622,7 +3629,7 @@ int snd_soc_unregister_card(struct snd_soc_card *card) | |||
| 3622 | { | 3629 | { |
| 3623 | if (card->instantiated) | 3630 | if (card->instantiated) |
| 3624 | soc_cleanup_card_resources(card); | 3631 | soc_cleanup_card_resources(card); |
| 3625 | dev_dbg(card->dev, "Unregistered card '%s'\n", card->name); | 3632 | dev_dbg(card->dev, "ASoC: Unregistered card '%s'\n", card->name); |
| 3626 | 3633 | ||
| 3627 | return 0; | 3634 | return 0; |
| 3628 | } | 3635 | } |
| @@ -3679,8 +3686,8 @@ static inline char *fmt_multiple_name(struct device *dev, | |||
| 3679 | struct snd_soc_dai_driver *dai_drv) | 3686 | struct snd_soc_dai_driver *dai_drv) |
| 3680 | { | 3687 | { |
| 3681 | if (dai_drv->name == NULL) { | 3688 | if (dai_drv->name == NULL) { |
| 3682 | pr_err("asoc: error - multiple DAI %s registered with no name\n", | 3689 | dev_err(dev, "ASoC: error - multiple DAI %s registered with" |
| 3683 | dev_name(dev)); | 3690 | " no name\n", dev_name(dev)); |
| 3684 | return NULL; | 3691 | return NULL; |
| 3685 | } | 3692 | } |
| 3686 | 3693 | ||
| @@ -3698,7 +3705,7 @@ int snd_soc_register_dai(struct device *dev, | |||
| 3698 | struct snd_soc_codec *codec; | 3705 | struct snd_soc_codec *codec; |
| 3699 | struct snd_soc_dai *dai; | 3706 | struct snd_soc_dai *dai; |
| 3700 | 3707 | ||
| 3701 | dev_dbg(dev, "dai register %s\n", dev_name(dev)); | 3708 | dev_dbg(dev, "ASoC: dai register %s\n", dev_name(dev)); |
| 3702 | 3709 | ||
| 3703 | dai = kzalloc(sizeof(struct snd_soc_dai), GFP_KERNEL); | 3710 | dai = kzalloc(sizeof(struct snd_soc_dai), GFP_KERNEL); |
| 3704 | if (dai == NULL) | 3711 | if (dai == NULL) |
| @@ -3721,7 +3728,7 @@ int snd_soc_register_dai(struct device *dev, | |||
| 3721 | 3728 | ||
| 3722 | list_for_each_entry(codec, &codec_list, list) { | 3729 | list_for_each_entry(codec, &codec_list, list) { |
| 3723 | if (codec->dev == dev) { | 3730 | if (codec->dev == dev) { |
| 3724 | dev_dbg(dev, "Mapped DAI %s to CODEC %s\n", | 3731 | dev_dbg(dev, "ASoC: Mapped DAI %s to CODEC %s\n", |
| 3725 | dai->name, codec->name); | 3732 | dai->name, codec->name); |
| 3726 | dai->codec = codec; | 3733 | dai->codec = codec; |
| 3727 | break; | 3734 | break; |
| @@ -3735,7 +3742,7 @@ int snd_soc_register_dai(struct device *dev, | |||
| 3735 | 3742 | ||
| 3736 | mutex_unlock(&client_mutex); | 3743 | mutex_unlock(&client_mutex); |
| 3737 | 3744 | ||
| 3738 | pr_debug("Registered DAI '%s'\n", dai->name); | 3745 | dev_dbg(dev, "ASoC: Registered DAI '%s'\n", dai->name); |
| 3739 | 3746 | ||
| 3740 | return 0; | 3747 | return 0; |
| 3741 | } | 3748 | } |
| @@ -3761,7 +3768,7 @@ found: | |||
| 3761 | list_del(&dai->list); | 3768 | list_del(&dai->list); |
| 3762 | mutex_unlock(&client_mutex); | 3769 | mutex_unlock(&client_mutex); |
| 3763 | 3770 | ||
| 3764 | pr_debug("Unregistered DAI '%s'\n", dai->name); | 3771 | dev_dbg(dev, "ASoC: Unregistered DAI '%s'\n", dai->name); |
| 3765 | kfree(dai->name); | 3772 | kfree(dai->name); |
| 3766 | kfree(dai); | 3773 | kfree(dai); |
| 3767 | } | 3774 | } |
| @@ -3780,7 +3787,7 @@ int snd_soc_register_dais(struct device *dev, | |||
| 3780 | struct snd_soc_dai *dai; | 3787 | struct snd_soc_dai *dai; |
| 3781 | int i, ret = 0; | 3788 | int i, ret = 0; |
| 3782 | 3789 | ||
| 3783 | dev_dbg(dev, "dai register %s #%Zu\n", dev_name(dev), count); | 3790 | dev_dbg(dev, "ASoC: dai register %s #%Zu\n", dev_name(dev), count); |
| 3784 | 3791 | ||
| 3785 | for (i = 0; i < count; i++) { | 3792 | for (i = 0; i < count; i++) { |
| 3786 | 3793 | ||
| @@ -3812,8 +3819,8 @@ int snd_soc_register_dais(struct device *dev, | |||
| 3812 | 3819 | ||
| 3813 | list_for_each_entry(codec, &codec_list, list) { | 3820 | list_for_each_entry(codec, &codec_list, list) { |
| 3814 | if (codec->dev == dev) { | 3821 | if (codec->dev == dev) { |
| 3815 | dev_dbg(dev, "Mapped DAI %s to CODEC %s\n", | 3822 | dev_dbg(dev, "ASoC: Mapped DAI %s to " |
| 3816 | dai->name, codec->name); | 3823 | "CODEC %s\n", dai->name, codec->name); |
| 3817 | dai->codec = codec; | 3824 | dai->codec = codec; |
| 3818 | break; | 3825 | break; |
| 3819 | } | 3826 | } |
| @@ -3826,7 +3833,7 @@ int snd_soc_register_dais(struct device *dev, | |||
| 3826 | 3833 | ||
| 3827 | mutex_unlock(&client_mutex); | 3834 | mutex_unlock(&client_mutex); |
| 3828 | 3835 | ||
| 3829 | pr_debug("Registered DAI '%s'\n", dai->name); | 3836 | dev_dbg(dai->dev, "ASoC: Registered DAI '%s'\n", dai->name); |
| 3830 | } | 3837 | } |
| 3831 | 3838 | ||
| 3832 | return 0; | 3839 | return 0; |
| @@ -3864,7 +3871,7 @@ int snd_soc_register_platform(struct device *dev, | |||
| 3864 | { | 3871 | { |
| 3865 | struct snd_soc_platform *platform; | 3872 | struct snd_soc_platform *platform; |
| 3866 | 3873 | ||
| 3867 | dev_dbg(dev, "platform register %s\n", dev_name(dev)); | 3874 | dev_dbg(dev, "ASoC: platform register %s\n", dev_name(dev)); |
| 3868 | 3875 | ||
| 3869 | platform = kzalloc(sizeof(struct snd_soc_platform), GFP_KERNEL); | 3876 | platform = kzalloc(sizeof(struct snd_soc_platform), GFP_KERNEL); |
| 3870 | if (platform == NULL) | 3877 | if (platform == NULL) |
| @@ -3888,7 +3895,7 @@ int snd_soc_register_platform(struct device *dev, | |||
| 3888 | list_add(&platform->list, &platform_list); | 3895 | list_add(&platform->list, &platform_list); |
| 3889 | mutex_unlock(&client_mutex); | 3896 | mutex_unlock(&client_mutex); |
| 3890 | 3897 | ||
| 3891 | pr_debug("Registered platform '%s'\n", platform->name); | 3898 | dev_dbg(dev, "ASoC: Registered platform '%s'\n", platform->name); |
| 3892 | 3899 | ||
| 3893 | return 0; | 3900 | return 0; |
| 3894 | } | 3901 | } |
| @@ -3914,7 +3921,7 @@ found: | |||
| 3914 | list_del(&platform->list); | 3921 | list_del(&platform->list); |
| 3915 | mutex_unlock(&client_mutex); | 3922 | mutex_unlock(&client_mutex); |
| 3916 | 3923 | ||
| 3917 | pr_debug("Unregistered platform '%s'\n", platform->name); | 3924 | dev_dbg(dev, "ASoC: Unregistered platform '%s'\n", platform->name); |
| 3918 | kfree(platform->name); | 3925 | kfree(platform->name); |
| 3919 | kfree(platform); | 3926 | kfree(platform); |
| 3920 | } | 3927 | } |
| @@ -4043,11 +4050,11 @@ int snd_soc_register_codec(struct device *dev, | |||
| 4043 | if (num_dai) { | 4050 | if (num_dai) { |
| 4044 | ret = snd_soc_register_dais(dev, dai_drv, num_dai); | 4051 | ret = snd_soc_register_dais(dev, dai_drv, num_dai); |
| 4045 | if (ret < 0) | 4052 | if (ret < 0) |
| 4046 | dev_err(codec->dev, "Failed to regster DAIs: %d\n", | 4053 | dev_err(codec->dev, "ASoC: Failed to regster" |
| 4047 | ret); | 4054 | " DAIs: %d\n", ret); |
| 4048 | } | 4055 | } |
| 4049 | 4056 | ||
| 4050 | pr_debug("Registered codec '%s'\n", codec->name); | 4057 | dev_dbg(codec->dev, "ASoC: Registered codec '%s'\n", codec->name); |
| 4051 | return 0; | 4058 | return 0; |
| 4052 | 4059 | ||
| 4053 | fail: | 4060 | fail: |
| @@ -4082,7 +4089,7 @@ found: | |||
| 4082 | list_del(&codec->list); | 4089 | list_del(&codec->list); |
| 4083 | mutex_unlock(&client_mutex); | 4090 | mutex_unlock(&client_mutex); |
| 4084 | 4091 | ||
| 4085 | pr_debug("Unregistered codec '%s'\n", codec->name); | 4092 | dev_dbg(codec->dev, "ASoC: Unregistered codec '%s'\n", codec->name); |
| 4086 | 4093 | ||
| 4087 | snd_soc_cache_exit(codec); | 4094 | snd_soc_cache_exit(codec); |
| 4088 | kfree(codec->reg_def_copy); | 4095 | kfree(codec->reg_def_copy); |
| @@ -4106,7 +4113,7 @@ int snd_soc_of_parse_card_name(struct snd_soc_card *card, | |||
| 4106 | */ | 4113 | */ |
| 4107 | if (ret < 0 && ret != -EINVAL) { | 4114 | if (ret < 0 && ret != -EINVAL) { |
| 4108 | dev_err(card->dev, | 4115 | dev_err(card->dev, |
| 4109 | "Property '%s' could not be read: %d\n", | 4116 | "ASoC: Property '%s' could not be read: %d\n", |
| 4110 | propname, ret); | 4117 | propname, ret); |
| 4111 | return ret; | 4118 | return ret; |
| 4112 | } | 4119 | } |
| @@ -4125,15 +4132,13 @@ int snd_soc_of_parse_audio_routing(struct snd_soc_card *card, | |||
| 4125 | 4132 | ||
| 4126 | num_routes = of_property_count_strings(np, propname); | 4133 | num_routes = of_property_count_strings(np, propname); |
| 4127 | if (num_routes < 0 || num_routes & 1) { | 4134 | if (num_routes < 0 || num_routes & 1) { |
| 4128 | dev_err(card->dev, | 4135 | dev_err(card->dev, "ASoC: Property '%s' does not exist or its" |
| 4129 | "Property '%s' does not exist or its length is not even\n", | 4136 | " length is not even\n", propname); |
| 4130 | propname); | ||
| 4131 | return -EINVAL; | 4137 | return -EINVAL; |
| 4132 | } | 4138 | } |
| 4133 | num_routes /= 2; | 4139 | num_routes /= 2; |
| 4134 | if (!num_routes) { | 4140 | if (!num_routes) { |
| 4135 | dev_err(card->dev, | 4141 | dev_err(card->dev, "ASoC: Property '%s's length is zero\n", |
| 4136 | "Property '%s's length is zero\n", | ||
| 4137 | propname); | 4142 | propname); |
| 4138 | return -EINVAL; | 4143 | return -EINVAL; |
| 4139 | } | 4144 | } |
| @@ -4142,7 +4147,7 @@ int snd_soc_of_parse_audio_routing(struct snd_soc_card *card, | |||
| 4142 | GFP_KERNEL); | 4147 | GFP_KERNEL); |
| 4143 | if (!routes) { | 4148 | if (!routes) { |
| 4144 | dev_err(card->dev, | 4149 | dev_err(card->dev, |
| 4145 | "Could not allocate DAPM route table\n"); | 4150 | "ASoC: Could not allocate DAPM route table\n"); |
| 4146 | return -EINVAL; | 4151 | return -EINVAL; |
| 4147 | } | 4152 | } |
| 4148 | 4153 | ||
| @@ -4150,9 +4155,9 @@ int snd_soc_of_parse_audio_routing(struct snd_soc_card *card, | |||
| 4150 | ret = of_property_read_string_index(np, propname, | 4155 | ret = of_property_read_string_index(np, propname, |
| 4151 | 2 * i, &routes[i].sink); | 4156 | 2 * i, &routes[i].sink); |
| 4152 | if (ret) { | 4157 | if (ret) { |
| 4153 | dev_err(card->dev, | 4158 | dev_err(card->dev, "ASoC: Property '%s' index %d" |
| 4154 | "Property '%s' index %d could not be read: %d\n", | 4159 | " could not be read: %d\n", propname, 2 * i, |
| 4155 | propname, 2 * i, ret); | 4160 | ret); |
| 4156 | kfree(routes); | 4161 | kfree(routes); |
| 4157 | return -EINVAL; | 4162 | return -EINVAL; |
| 4158 | } | 4163 | } |
| @@ -4160,8 +4165,8 @@ int snd_soc_of_parse_audio_routing(struct snd_soc_card *card, | |||
| 4160 | (2 * i) + 1, &routes[i].source); | 4165 | (2 * i) + 1, &routes[i].source); |
| 4161 | if (ret) { | 4166 | if (ret) { |
| 4162 | dev_err(card->dev, | 4167 | dev_err(card->dev, |
| 4163 | "Property '%s' index %d could not be read: %d\n", | 4168 | "ASoC: Property '%s' index %d could not be" |
| 4164 | propname, (2 * i) + 1, ret); | 4169 | " read: %d\n", propname, (2 * i) + 1, ret); |
| 4165 | kfree(routes); | 4170 | kfree(routes); |
| 4166 | return -EINVAL; | 4171 | return -EINVAL; |
| 4167 | } | 4172 | } |
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 6e35bcae02df..1e36bc81e5af 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
| @@ -220,7 +220,7 @@ static int soc_widget_read(struct snd_soc_dapm_widget *w, int reg) | |||
| 220 | else if (w->platform) | 220 | else if (w->platform) |
| 221 | return snd_soc_platform_read(w->platform, reg); | 221 | return snd_soc_platform_read(w->platform, reg); |
| 222 | 222 | ||
| 223 | dev_err(w->dapm->dev, "no valid widget read method\n"); | 223 | dev_err(w->dapm->dev, "ASoC: no valid widget read method\n"); |
| 224 | return -1; | 224 | return -1; |
| 225 | } | 225 | } |
| 226 | 226 | ||
| @@ -231,7 +231,7 @@ static int soc_widget_write(struct snd_soc_dapm_widget *w, int reg, int val) | |||
| 231 | else if (w->platform) | 231 | else if (w->platform) |
| 232 | return snd_soc_platform_write(w->platform, reg, val); | 232 | return snd_soc_platform_write(w->platform, reg, val); |
| 233 | 233 | ||
| 234 | dev_err(w->dapm->dev, "no valid widget write method\n"); | 234 | dev_err(w->dapm->dev, "ASoC: no valid widget write method\n"); |
| 235 | return -1; | 235 | return -1; |
| 236 | } | 236 | } |
| 237 | 237 | ||
| @@ -546,7 +546,7 @@ static int dapm_new_mixer(struct snd_soc_dapm_widget *w) | |||
| 546 | wlist = kzalloc(wlistsize, GFP_KERNEL); | 546 | wlist = kzalloc(wlistsize, GFP_KERNEL); |
| 547 | if (wlist == NULL) { | 547 | if (wlist == NULL) { |
| 548 | dev_err(dapm->dev, | 548 | dev_err(dapm->dev, |
| 549 | "asoc: can't allocate widget list for %s\n", | 549 | "ASoC: can't allocate widget list for %s\n", |
| 550 | w->name); | 550 | w->name); |
| 551 | return -ENOMEM; | 551 | return -ENOMEM; |
| 552 | } | 552 | } |
| @@ -595,9 +595,9 @@ static int dapm_new_mixer(struct snd_soc_dapm_widget *w) | |||
| 595 | prefix); | 595 | prefix); |
| 596 | ret = snd_ctl_add(card, path->kcontrol); | 596 | ret = snd_ctl_add(card, path->kcontrol); |
| 597 | if (ret < 0) { | 597 | if (ret < 0) { |
| 598 | dev_err(dapm->dev, | 598 | dev_err(dapm->dev, "ASoC: failed to add widget" |
| 599 | "asoc: failed to add dapm kcontrol %s: %d\n", | 599 | " %s dapm kcontrol %s: %d\n", |
| 600 | path->long_name, ret); | 600 | w->name, path->long_name, ret); |
| 601 | kfree(wlist); | 601 | kfree(wlist); |
| 602 | kfree(path->long_name); | 602 | kfree(path->long_name); |
| 603 | path->long_name = NULL; | 603 | path->long_name = NULL; |
| @@ -626,7 +626,7 @@ static int dapm_new_mux(struct snd_soc_dapm_widget *w) | |||
| 626 | 626 | ||
| 627 | if (w->num_kcontrols != 1) { | 627 | if (w->num_kcontrols != 1) { |
| 628 | dev_err(dapm->dev, | 628 | dev_err(dapm->dev, |
| 629 | "asoc: mux %s has incorrect number of controls\n", | 629 | "ASoC: mux %s has incorrect number of controls\n", |
| 630 | w->name); | 630 | w->name); |
| 631 | return -EINVAL; | 631 | return -EINVAL; |
| 632 | } | 632 | } |
| @@ -645,7 +645,7 @@ static int dapm_new_mux(struct snd_soc_dapm_widget *w) | |||
| 645 | wlist = krealloc(wlist, wlistsize, GFP_KERNEL); | 645 | wlist = krealloc(wlist, wlistsize, GFP_KERNEL); |
| 646 | if (wlist == NULL) { | 646 | if (wlist == NULL) { |
| 647 | dev_err(dapm->dev, | 647 | dev_err(dapm->dev, |
| 648 | "asoc: can't allocate widget list for %s\n", w->name); | 648 | "ASoC: can't allocate widget list for %s\n", w->name); |
| 649 | return -ENOMEM; | 649 | return -ENOMEM; |
| 650 | } | 650 | } |
| 651 | wlist->num_widgets = wlistentries; | 651 | wlist->num_widgets = wlistentries; |
| @@ -677,7 +677,7 @@ static int dapm_new_mux(struct snd_soc_dapm_widget *w) | |||
| 677 | name + prefix_len, prefix); | 677 | name + prefix_len, prefix); |
| 678 | ret = snd_ctl_add(card, kcontrol); | 678 | ret = snd_ctl_add(card, kcontrol); |
| 679 | if (ret < 0) { | 679 | if (ret < 0) { |
| 680 | dev_err(dapm->dev, "failed to add kcontrol %s: %d\n", | 680 | dev_err(dapm->dev, "ASoC: failed to add kcontrol %s: %d\n", |
| 681 | w->name, ret); | 681 | w->name, ret); |
| 682 | kfree(wlist); | 682 | kfree(wlist); |
| 683 | return ret; | 683 | return ret; |
| @@ -699,7 +699,7 @@ static int dapm_new_pga(struct snd_soc_dapm_widget *w) | |||
| 699 | { | 699 | { |
| 700 | if (w->num_kcontrols) | 700 | if (w->num_kcontrols) |
| 701 | dev_err(w->dapm->dev, | 701 | dev_err(w->dapm->dev, |
| 702 | "asoc: PGA controls not supported: '%s'\n", w->name); | 702 | "ASoC: PGA controls not supported: '%s'\n", w->name); |
| 703 | 703 | ||
| 704 | return 0; | 704 | return 0; |
| 705 | } | 705 | } |
| @@ -725,7 +725,7 @@ static int snd_soc_dapm_suspend_check(struct snd_soc_dapm_widget *widget) | |||
| 725 | case SNDRV_CTL_POWER_D3hot: | 725 | case SNDRV_CTL_POWER_D3hot: |
| 726 | case SNDRV_CTL_POWER_D3cold: | 726 | case SNDRV_CTL_POWER_D3cold: |
| 727 | if (widget->ignore_suspend) | 727 | if (widget->ignore_suspend) |
| 728 | dev_dbg(widget->dapm->dev, "%s ignoring suspend\n", | 728 | dev_dbg(widget->dapm->dev, "ASoC: %s ignoring suspend\n", |
| 729 | widget->name); | 729 | widget->name); |
| 730 | return widget->ignore_suspend; | 730 | return widget->ignore_suspend; |
| 731 | default: | 731 | default: |
| @@ -757,14 +757,14 @@ static int dapm_list_add_widget(struct snd_soc_dapm_widget_list **list, | |||
| 757 | wlistentries * sizeof(struct snd_soc_dapm_widget *); | 757 | wlistentries * sizeof(struct snd_soc_dapm_widget *); |
| 758 | *list = krealloc(wlist, wlistsize, GFP_KERNEL); | 758 | *list = krealloc(wlist, wlistsize, GFP_KERNEL); |
| 759 | if (*list == NULL) { | 759 | if (*list == NULL) { |
| 760 | dev_err(w->dapm->dev, "can't allocate widget list for %s\n", | 760 | dev_err(w->dapm->dev, "ASoC: can't allocate widget list for %s\n", |
| 761 | w->name); | 761 | w->name); |
| 762 | return -ENOMEM; | 762 | return -ENOMEM; |
| 763 | } | 763 | } |
| 764 | wlist = *list; | 764 | wlist = *list; |
| 765 | 765 | ||
| 766 | /* insert the widget */ | 766 | /* insert the widget */ |
| 767 | dev_dbg(w->dapm->dev, "added %s in widget list pos %d\n", | 767 | dev_dbg(w->dapm->dev, "ASoC: added %s in widget list pos %d\n", |
| 768 | w->name, wlist->num_widgets); | 768 | w->name, wlist->num_widgets); |
| 769 | 769 | ||
| 770 | wlist->widgets[wlist->num_widgets] = w; | 770 | wlist->widgets[wlist->num_widgets] = w; |
| @@ -844,7 +844,8 @@ static int is_connected_output_ep(struct snd_soc_dapm_widget *widget, | |||
| 844 | int err; | 844 | int err; |
| 845 | err = dapm_list_add_widget(list, path->sink); | 845 | err = dapm_list_add_widget(list, path->sink); |
| 846 | if (err < 0) { | 846 | if (err < 0) { |
| 847 | dev_err(widget->dapm->dev, "could not add widget %s\n", | 847 | dev_err(widget->dapm->dev, |
| 848 | "ASoC: could not add widget %s\n", | ||
| 848 | widget->name); | 849 | widget->name); |
| 849 | return con; | 850 | return con; |
| 850 | } | 851 | } |
| @@ -943,7 +944,8 @@ static int is_connected_input_ep(struct snd_soc_dapm_widget *widget, | |||
| 943 | int err; | 944 | int err; |
| 944 | err = dapm_list_add_widget(list, path->source); | 945 | err = dapm_list_add_widget(list, path->source); |
| 945 | if (err < 0) { | 946 | if (err < 0) { |
| 946 | dev_err(widget->dapm->dev, "could not add widget %s\n", | 947 | dev_err(widget->dapm->dev, |
| 948 | "ASoC: could not add widget %s\n", | ||
| 947 | widget->name); | 949 | widget->name); |
| 948 | return con; | 950 | return con; |
| 949 | } | 951 | } |
| @@ -1024,7 +1026,7 @@ int dapm_regulator_event(struct snd_soc_dapm_widget *w, | |||
| 1024 | ret = regulator_allow_bypass(w->regulator, true); | 1026 | ret = regulator_allow_bypass(w->regulator, true); |
| 1025 | if (ret != 0) | 1027 | if (ret != 0) |
| 1026 | dev_warn(w->dapm->dev, | 1028 | dev_warn(w->dapm->dev, |
| 1027 | "Failed to bypass %s: %d\n", | 1029 | "ASoC: Failed to bypass %s: %d\n", |
| 1028 | w->name, ret); | 1030 | w->name, ret); |
| 1029 | } | 1031 | } |
| 1030 | 1032 | ||
| @@ -1034,7 +1036,7 @@ int dapm_regulator_event(struct snd_soc_dapm_widget *w, | |||
| 1034 | ret = regulator_allow_bypass(w->regulator, false); | 1036 | ret = regulator_allow_bypass(w->regulator, false); |
| 1035 | if (ret != 0) | 1037 | if (ret != 0) |
| 1036 | dev_warn(w->dapm->dev, | 1038 | dev_warn(w->dapm->dev, |
| 1037 | "Failed to unbypass %s: %d\n", | 1039 | "ASoC: Failed to unbypass %s: %d\n", |
| 1038 | w->name, ret); | 1040 | w->name, ret); |
| 1039 | } | 1041 | } |
| 1040 | 1042 | ||
| @@ -1253,7 +1255,7 @@ static void dapm_seq_check_event(struct snd_soc_dapm_context *dapm, | |||
| 1253 | ret = w->event(w, NULL, event); | 1255 | ret = w->event(w, NULL, event); |
| 1254 | trace_snd_soc_dapm_widget_event_done(w, event); | 1256 | trace_snd_soc_dapm_widget_event_done(w, event); |
| 1255 | if (ret < 0) | 1257 | if (ret < 0) |
| 1256 | pr_err("%s: %s event failed: %d\n", | 1258 | dev_err(dapm->dev, "ASoC: %s: %s event failed: %d\n", |
| 1257 | ev_name, w->name, ret); | 1259 | ev_name, w->name, ret); |
| 1258 | } | 1260 | } |
| 1259 | } | 1261 | } |
| @@ -1402,7 +1404,7 @@ static void dapm_seq_run(struct snd_soc_dapm_context *dapm, | |||
| 1402 | 1404 | ||
| 1403 | if (ret < 0) | 1405 | if (ret < 0) |
| 1404 | dev_err(w->dapm->dev, | 1406 | dev_err(w->dapm->dev, |
| 1405 | "Failed to apply widget power: %d\n", ret); | 1407 | "ASoC: Failed to apply widget power: %d\n", ret); |
| 1406 | } | 1408 | } |
| 1407 | 1409 | ||
| 1408 | if (!list_empty(&pending)) | 1410 | if (!list_empty(&pending)) |
| @@ -1431,20 +1433,21 @@ static void dapm_widget_update(struct snd_soc_dapm_context *dapm) | |||
| 1431 | (w->event_flags & SND_SOC_DAPM_PRE_REG)) { | 1433 | (w->event_flags & SND_SOC_DAPM_PRE_REG)) { |
| 1432 | ret = w->event(w, update->kcontrol, SND_SOC_DAPM_PRE_REG); | 1434 | ret = w->event(w, update->kcontrol, SND_SOC_DAPM_PRE_REG); |
| 1433 | if (ret != 0) | 1435 | if (ret != 0) |
| 1434 | pr_err("%s DAPM pre-event failed: %d\n", | 1436 | dev_err(dapm->dev, "ASoC: %s DAPM pre-event failed: %d\n", |
| 1435 | w->name, ret); | 1437 | w->name, ret); |
| 1436 | } | 1438 | } |
| 1437 | 1439 | ||
| 1438 | ret = soc_widget_update_bits_locked(w, update->reg, update->mask, | 1440 | ret = soc_widget_update_bits_locked(w, update->reg, update->mask, |
| 1439 | update->val); | 1441 | update->val); |
| 1440 | if (ret < 0) | 1442 | if (ret < 0) |
| 1441 | pr_err("%s DAPM update failed: %d\n", w->name, ret); | 1443 | dev_err(dapm->dev, "ASoC: %s DAPM update failed: %d\n", |
| 1444 | w->name, ret); | ||
| 1442 | 1445 | ||
| 1443 | if (w->event && | 1446 | if (w->event && |
| 1444 | (w->event_flags & SND_SOC_DAPM_POST_REG)) { | 1447 | (w->event_flags & SND_SOC_DAPM_POST_REG)) { |
| 1445 | ret = w->event(w, update->kcontrol, SND_SOC_DAPM_POST_REG); | 1448 | ret = w->event(w, update->kcontrol, SND_SOC_DAPM_POST_REG); |
| 1446 | if (ret != 0) | 1449 | if (ret != 0) |
| 1447 | pr_err("%s DAPM post-event failed: %d\n", | 1450 | dev_err(dapm->dev, "ASoC: %s DAPM post-event failed: %d\n", |
| 1448 | w->name, ret); | 1451 | w->name, ret); |
| 1449 | } | 1452 | } |
| 1450 | } | 1453 | } |
| @@ -1466,7 +1469,7 @@ static void dapm_pre_sequence_async(void *data, async_cookie_t cookie) | |||
| 1466 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_STANDBY); | 1469 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_STANDBY); |
| 1467 | if (ret != 0) | 1470 | if (ret != 0) |
| 1468 | dev_err(d->dev, | 1471 | dev_err(d->dev, |
| 1469 | "Failed to turn on bias: %d\n", ret); | 1472 | "ASoC: Failed to turn on bias: %d\n", ret); |
| 1470 | } | 1473 | } |
| 1471 | 1474 | ||
| 1472 | /* Prepare for a STADDBY->ON or ON->STANDBY transition */ | 1475 | /* Prepare for a STADDBY->ON or ON->STANDBY transition */ |
| @@ -1474,7 +1477,7 @@ static void dapm_pre_sequence_async(void *data, async_cookie_t cookie) | |||
| 1474 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_PREPARE); | 1477 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_PREPARE); |
| 1475 | if (ret != 0) | 1478 | if (ret != 0) |
| 1476 | dev_err(d->dev, | 1479 | dev_err(d->dev, |
| 1477 | "Failed to prepare bias: %d\n", ret); | 1480 | "ASoC: Failed to prepare bias: %d\n", ret); |
| 1478 | } | 1481 | } |
| 1479 | } | 1482 | } |
| 1480 | 1483 | ||
| @@ -1492,7 +1495,7 @@ static void dapm_post_sequence_async(void *data, async_cookie_t cookie) | |||
| 1492 | d->target_bias_level == SND_SOC_BIAS_OFF)) { | 1495 | d->target_bias_level == SND_SOC_BIAS_OFF)) { |
| 1493 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_STANDBY); | 1496 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_STANDBY); |
| 1494 | if (ret != 0) | 1497 | if (ret != 0) |
| 1495 | dev_err(d->dev, "Failed to apply standby bias: %d\n", | 1498 | dev_err(d->dev, "ASoC: Failed to apply standby bias: %d\n", |
| 1496 | ret); | 1499 | ret); |
| 1497 | } | 1500 | } |
| 1498 | 1501 | ||
| @@ -1501,7 +1504,8 @@ static void dapm_post_sequence_async(void *data, async_cookie_t cookie) | |||
| 1501 | d->target_bias_level == SND_SOC_BIAS_OFF) { | 1504 | d->target_bias_level == SND_SOC_BIAS_OFF) { |
| 1502 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_OFF); | 1505 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_OFF); |
| 1503 | if (ret != 0) | 1506 | if (ret != 0) |
| 1504 | dev_err(d->dev, "Failed to turn off bias: %d\n", ret); | 1507 | dev_err(d->dev, "ASoC: Failed to turn off bias: %d\n", |
| 1508 | ret); | ||
| 1505 | 1509 | ||
| 1506 | if (d->dev) | 1510 | if (d->dev) |
| 1507 | pm_runtime_put(d->dev); | 1511 | pm_runtime_put(d->dev); |
| @@ -1512,7 +1516,7 @@ static void dapm_post_sequence_async(void *data, async_cookie_t cookie) | |||
| 1512 | d->target_bias_level == SND_SOC_BIAS_ON) { | 1516 | d->target_bias_level == SND_SOC_BIAS_ON) { |
| 1513 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_ON); | 1517 | ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_ON); |
| 1514 | if (ret != 0) | 1518 | if (ret != 0) |
| 1515 | dev_err(d->dev, "Failed to apply active bias: %d\n", | 1519 | dev_err(d->dev, "ASoC: Failed to apply active bias: %d\n", |
| 1516 | ret); | 1520 | ret); |
| 1517 | } | 1521 | } |
| 1518 | } | 1522 | } |
| @@ -1838,7 +1842,7 @@ void snd_soc_dapm_debugfs_init(struct snd_soc_dapm_context *dapm, | |||
| 1838 | 1842 | ||
| 1839 | if (!dapm->debugfs_dapm) { | 1843 | if (!dapm->debugfs_dapm) { |
| 1840 | dev_warn(dapm->dev, | 1844 | dev_warn(dapm->dev, |
| 1841 | "Failed to create DAPM debugfs directory\n"); | 1845 | "ASoC: Failed to create DAPM debugfs directory\n"); |
| 1842 | return; | 1846 | return; |
| 1843 | } | 1847 | } |
| 1844 | 1848 | ||
| @@ -2123,7 +2127,7 @@ static int snd_soc_dapm_set_pin(struct snd_soc_dapm_context *dapm, | |||
| 2123 | struct snd_soc_dapm_widget *w = dapm_find_widget(dapm, pin, true); | 2127 | struct snd_soc_dapm_widget *w = dapm_find_widget(dapm, pin, true); |
| 2124 | 2128 | ||
| 2125 | if (!w) { | 2129 | if (!w) { |
| 2126 | dev_err(dapm->dev, "dapm: unknown pin %s\n", pin); | 2130 | dev_err(dapm->dev, "ASoC: DAPM unknown pin %s\n", pin); |
| 2127 | return -EINVAL; | 2131 | return -EINVAL; |
| 2128 | } | 2132 | } |
| 2129 | 2133 | ||
| @@ -2212,8 +2216,16 @@ static int snd_soc_dapm_add_route(struct snd_soc_dapm_context *dapm, | |||
| 2212 | if (!wsource) | 2216 | if (!wsource) |
| 2213 | wsource = wtsource; | 2217 | wsource = wtsource; |
| 2214 | 2218 | ||
| 2215 | if (wsource == NULL || wsink == NULL) | 2219 | if (wsource == NULL) { |
| 2220 | dev_err(dapm->dev, "ASoC: no source widget found for %s\n", | ||
| 2221 | route->source); | ||
| 2216 | return -ENODEV; | 2222 | return -ENODEV; |
| 2223 | } | ||
| 2224 | if (wsink == NULL) { | ||
| 2225 | dev_err(dapm->dev, "ASoC: no sink widget found for %s\n", | ||
| 2226 | route->sink); | ||
| 2227 | return -ENODEV; | ||
| 2228 | } | ||
| 2217 | 2229 | ||
| 2218 | path = kzalloc(sizeof(struct snd_soc_dapm_path), GFP_KERNEL); | 2230 | path = kzalloc(sizeof(struct snd_soc_dapm_path), GFP_KERNEL); |
| 2219 | if (!path) | 2231 | if (!path) |
| @@ -2308,7 +2320,7 @@ static int snd_soc_dapm_add_route(struct snd_soc_dapm_context *dapm, | |||
| 2308 | return 0; | 2320 | return 0; |
| 2309 | 2321 | ||
| 2310 | err: | 2322 | err: |
| 2311 | dev_warn(dapm->dev, "asoc: no dapm match for %s --> %s --> %s\n", | 2323 | dev_warn(dapm->dev, "ASoC: no dapm match for %s --> %s --> %s\n", |
| 2312 | source, control, sink); | 2324 | source, control, sink); |
| 2313 | kfree(path); | 2325 | kfree(path); |
| 2314 | return ret; | 2326 | return ret; |
| @@ -2325,7 +2337,7 @@ static int snd_soc_dapm_del_route(struct snd_soc_dapm_context *dapm, | |||
| 2325 | 2337 | ||
| 2326 | if (route->control) { | 2338 | if (route->control) { |
| 2327 | dev_err(dapm->dev, | 2339 | dev_err(dapm->dev, |
| 2328 | "Removal of routes with controls not supported\n"); | 2340 | "ASoC: Removal of routes with controls not supported\n"); |
| 2329 | return -EINVAL; | 2341 | return -EINVAL; |
| 2330 | } | 2342 | } |
| 2331 | 2343 | ||
| @@ -2360,7 +2372,7 @@ static int snd_soc_dapm_del_route(struct snd_soc_dapm_context *dapm, | |||
| 2360 | list_del(&path->list_source); | 2372 | list_del(&path->list_source); |
| 2361 | kfree(path); | 2373 | kfree(path); |
| 2362 | } else { | 2374 | } else { |
| 2363 | dev_warn(dapm->dev, "Route %s->%s does not exist\n", | 2375 | dev_warn(dapm->dev, "ASoC: Route %s->%s does not exist\n", |
| 2364 | source, sink); | 2376 | source, sink); |
| 2365 | } | 2377 | } |
| 2366 | 2378 | ||
| @@ -2389,8 +2401,10 @@ int snd_soc_dapm_add_routes(struct snd_soc_dapm_context *dapm, | |||
| 2389 | for (i = 0; i < num; i++) { | 2401 | for (i = 0; i < num; i++) { |
| 2390 | r = snd_soc_dapm_add_route(dapm, route); | 2402 | r = snd_soc_dapm_add_route(dapm, route); |
| 2391 | if (r < 0) { | 2403 | if (r < 0) { |
| 2392 | dev_err(dapm->dev, "Failed to add route %s->%s\n", | 2404 | dev_err(dapm->dev, "ASoC: Failed to add route %s -> %s -> %s\n", |
| 2393 | route->source, route->sink); | 2405 | route->source, |
| 2406 | route->control ? route->control : "direct", | ||
| 2407 | route->sink); | ||
| 2394 | ret = r; | 2408 | ret = r; |
| 2395 | } | 2409 | } |
| 2396 | route++; | 2410 | route++; |
| @@ -2438,19 +2452,19 @@ static int snd_soc_dapm_weak_route(struct snd_soc_dapm_context *dapm, | |||
| 2438 | int count = 0; | 2452 | int count = 0; |
| 2439 | 2453 | ||
| 2440 | if (!source) { | 2454 | if (!source) { |
| 2441 | dev_err(dapm->dev, "Unable to find source %s for weak route\n", | 2455 | dev_err(dapm->dev, "ASoC: Unable to find source %s for weak route\n", |
| 2442 | route->source); | 2456 | route->source); |
| 2443 | return -ENODEV; | 2457 | return -ENODEV; |
| 2444 | } | 2458 | } |
| 2445 | 2459 | ||
| 2446 | if (!sink) { | 2460 | if (!sink) { |
| 2447 | dev_err(dapm->dev, "Unable to find sink %s for weak route\n", | 2461 | dev_err(dapm->dev, "ASoC: Unable to find sink %s for weak route\n", |
| 2448 | route->sink); | 2462 | route->sink); |
| 2449 | return -ENODEV; | 2463 | return -ENODEV; |
| 2450 | } | 2464 | } |
| 2451 | 2465 | ||
| 2452 | if (route->control || route->connected) | 2466 | if (route->control || route->connected) |
| 2453 | dev_warn(dapm->dev, "Ignoring control for weak route %s->%s\n", | 2467 | dev_warn(dapm->dev, "ASoC: Ignoring control for weak route %s->%s\n", |
| 2454 | route->source, route->sink); | 2468 | route->source, route->sink); |
| 2455 | 2469 | ||
| 2456 | list_for_each_entry(path, &source->sinks, list_source) { | 2470 | list_for_each_entry(path, &source->sinks, list_source) { |
| @@ -2461,10 +2475,10 @@ static int snd_soc_dapm_weak_route(struct snd_soc_dapm_context *dapm, | |||
| 2461 | } | 2475 | } |
| 2462 | 2476 | ||
| 2463 | if (count == 0) | 2477 | if (count == 0) |
| 2464 | dev_err(dapm->dev, "No path found for weak route %s->%s\n", | 2478 | dev_err(dapm->dev, "ASoC: No path found for weak route %s->%s\n", |
| 2465 | route->source, route->sink); | 2479 | route->source, route->sink); |
| 2466 | if (count > 1) | 2480 | if (count > 1) |
| 2467 | dev_warn(dapm->dev, "%d paths found for weak route %s->%s\n", | 2481 | dev_warn(dapm->dev, "ASoC: %d paths found for weak route %s->%s\n", |
| 2468 | count, route->source, route->sink); | 2482 | count, route->source, route->sink); |
| 2469 | 2483 | ||
| 2470 | return 0; | 2484 | return 0; |
| @@ -2601,7 +2615,7 @@ int snd_soc_dapm_get_volsw(struct snd_kcontrol *kcontrol, | |||
| 2601 | 2615 | ||
| 2602 | if (snd_soc_volsw_is_stereo(mc)) | 2616 | if (snd_soc_volsw_is_stereo(mc)) |
| 2603 | dev_warn(widget->dapm->dev, | 2617 | dev_warn(widget->dapm->dev, |
| 2604 | "Control '%s' is stereo, which is not supported\n", | 2618 | "ASoC: Control '%s' is stereo, which is not supported\n", |
| 2605 | kcontrol->id.name); | 2619 | kcontrol->id.name); |
| 2606 | 2620 | ||
| 2607 | ucontrol->value.integer.value[0] = | 2621 | ucontrol->value.integer.value[0] = |
| @@ -2644,7 +2658,7 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, | |||
| 2644 | 2658 | ||
| 2645 | if (snd_soc_volsw_is_stereo(mc)) | 2659 | if (snd_soc_volsw_is_stereo(mc)) |
| 2646 | dev_warn(widget->dapm->dev, | 2660 | dev_warn(widget->dapm->dev, |
| 2647 | "Control '%s' is stereo, which is not supported\n", | 2661 | "ASoC: Control '%s' is stereo, which is not supported\n", |
| 2648 | kcontrol->id.name); | 2662 | kcontrol->id.name); |
| 2649 | 2663 | ||
| 2650 | val = (ucontrol->value.integer.value[0] & mask); | 2664 | val = (ucontrol->value.integer.value[0] & mask); |
| @@ -3021,7 +3035,7 @@ snd_soc_dapm_new_control(struct snd_soc_dapm_context *dapm, | |||
| 3021 | w->regulator = devm_regulator_get(dapm->dev, w->name); | 3035 | w->regulator = devm_regulator_get(dapm->dev, w->name); |
| 3022 | if (IS_ERR(w->regulator)) { | 3036 | if (IS_ERR(w->regulator)) { |
| 3023 | ret = PTR_ERR(w->regulator); | 3037 | ret = PTR_ERR(w->regulator); |
| 3024 | dev_err(dapm->dev, "Failed to request %s: %d\n", | 3038 | dev_err(dapm->dev, "ASoC: Failed to request %s: %d\n", |
| 3025 | w->name, ret); | 3039 | w->name, ret); |
| 3026 | return NULL; | 3040 | return NULL; |
| 3027 | } | 3041 | } |
| @@ -3031,7 +3045,7 @@ snd_soc_dapm_new_control(struct snd_soc_dapm_context *dapm, | |||
| 3031 | w->clk = devm_clk_get(dapm->dev, w->name); | 3045 | w->clk = devm_clk_get(dapm->dev, w->name); |
| 3032 | if (IS_ERR(w->clk)) { | 3046 | if (IS_ERR(w->clk)) { |
| 3033 | ret = PTR_ERR(w->clk); | 3047 | ret = PTR_ERR(w->clk); |
| 3034 | dev_err(dapm->dev, "Failed to request %s: %d\n", | 3048 | dev_err(dapm->dev, "ASoC: Failed to request %s: %d\n", |
| 3035 | w->name, ret); | 3049 | w->name, ret); |
| 3036 | return NULL; | 3050 | return NULL; |
| 3037 | } | 3051 | } |
| @@ -3182,7 +3196,7 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w, | |||
| 3182 | if (config->formats) { | 3196 | if (config->formats) { |
| 3183 | fmt = ffs(config->formats) - 1; | 3197 | fmt = ffs(config->formats) - 1; |
| 3184 | } else { | 3198 | } else { |
| 3185 | dev_warn(w->dapm->dev, "Invalid format %llx specified\n", | 3199 | dev_warn(w->dapm->dev, "ASoC: Invalid format %llx specified\n", |
| 3186 | config->formats); | 3200 | config->formats); |
| 3187 | fmt = 0; | 3201 | fmt = 0; |
| 3188 | } | 3202 | } |
| @@ -3215,7 +3229,7 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w, | |||
| 3215 | params, source); | 3229 | params, source); |
| 3216 | if (ret != 0) { | 3230 | if (ret != 0) { |
| 3217 | dev_err(source->dev, | 3231 | dev_err(source->dev, |
| 3218 | "hw_params() failed: %d\n", ret); | 3232 | "ASoC: hw_params() failed: %d\n", ret); |
| 3219 | goto out; | 3233 | goto out; |
| 3220 | } | 3234 | } |
| 3221 | } | 3235 | } |
| @@ -3226,7 +3240,7 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w, | |||
| 3226 | sink); | 3240 | sink); |
| 3227 | if (ret != 0) { | 3241 | if (ret != 0) { |
| 3228 | dev_err(sink->dev, | 3242 | dev_err(sink->dev, |
| 3229 | "hw_params() failed: %d\n", ret); | 3243 | "ASoC: hw_params() failed: %d\n", ret); |
| 3230 | goto out; | 3244 | goto out; |
| 3231 | } | 3245 | } |
| 3232 | } | 3246 | } |
| @@ -3235,14 +3249,14 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w, | |||
| 3235 | case SND_SOC_DAPM_POST_PMU: | 3249 | case SND_SOC_DAPM_POST_PMU: |
| 3236 | ret = snd_soc_dai_digital_mute(sink, 0); | 3250 | ret = snd_soc_dai_digital_mute(sink, 0); |
| 3237 | if (ret != 0 && ret != -ENOTSUPP) | 3251 | if (ret != 0 && ret != -ENOTSUPP) |
| 3238 | dev_warn(sink->dev, "Failed to unmute: %d\n", ret); | 3252 | dev_warn(sink->dev, "ASoC: Failed to unmute: %d\n", ret); |
| 3239 | ret = 0; | 3253 | ret = 0; |
| 3240 | break; | 3254 | break; |
| 3241 | 3255 | ||
| 3242 | case SND_SOC_DAPM_PRE_PMD: | 3256 | case SND_SOC_DAPM_PRE_PMD: |
| 3243 | ret = snd_soc_dai_digital_mute(sink, 1); | 3257 | ret = snd_soc_dai_digital_mute(sink, 1); |
| 3244 | if (ret != 0 && ret != -ENOTSUPP) | 3258 | if (ret != 0 && ret != -ENOTSUPP) |
| 3245 | dev_warn(sink->dev, "Failed to mute: %d\n", ret); | 3259 | dev_warn(sink->dev, "ASoC: Failed to mute: %d\n", ret); |
| 3246 | ret = 0; | 3260 | ret = 0; |
| 3247 | break; | 3261 | break; |
| 3248 | 3262 | ||
| @@ -3281,11 +3295,11 @@ int snd_soc_dapm_new_pcm(struct snd_soc_card *card, | |||
| 3281 | template.event_flags = SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU | | 3295 | template.event_flags = SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU | |
| 3282 | SND_SOC_DAPM_PRE_PMD; | 3296 | SND_SOC_DAPM_PRE_PMD; |
| 3283 | 3297 | ||
| 3284 | dev_dbg(card->dev, "adding %s widget\n", link_name); | 3298 | dev_dbg(card->dev, "ASoC: adding %s widget\n", link_name); |
| 3285 | 3299 | ||
| 3286 | w = snd_soc_dapm_new_control(&card->dapm, &template); | 3300 | w = snd_soc_dapm_new_control(&card->dapm, &template); |
| 3287 | if (!w) { | 3301 | if (!w) { |
| 3288 | dev_err(card->dev, "Failed to create %s widget\n", | 3302 | dev_err(card->dev, "ASoC: Failed to create %s widget\n", |
| 3289 | link_name); | 3303 | link_name); |
| 3290 | return -ENOMEM; | 3304 | return -ENOMEM; |
| 3291 | } | 3305 | } |
| @@ -3319,12 +3333,12 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm, | |||
| 3319 | template.name = dai->driver->playback.stream_name; | 3333 | template.name = dai->driver->playback.stream_name; |
| 3320 | template.sname = dai->driver->playback.stream_name; | 3334 | template.sname = dai->driver->playback.stream_name; |
| 3321 | 3335 | ||
| 3322 | dev_dbg(dai->dev, "adding %s widget\n", | 3336 | dev_dbg(dai->dev, "ASoC: adding %s widget\n", |
| 3323 | template.name); | 3337 | template.name); |
| 3324 | 3338 | ||
| 3325 | w = snd_soc_dapm_new_control(dapm, &template); | 3339 | w = snd_soc_dapm_new_control(dapm, &template); |
| 3326 | if (!w) { | 3340 | if (!w) { |
| 3327 | dev_err(dapm->dev, "Failed to create %s widget\n", | 3341 | dev_err(dapm->dev, "ASoC: Failed to create %s widget\n", |
| 3328 | dai->driver->playback.stream_name); | 3342 | dai->driver->playback.stream_name); |
| 3329 | } | 3343 | } |
| 3330 | 3344 | ||
| @@ -3337,12 +3351,12 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm, | |||
| 3337 | template.name = dai->driver->capture.stream_name; | 3351 | template.name = dai->driver->capture.stream_name; |
| 3338 | template.sname = dai->driver->capture.stream_name; | 3352 | template.sname = dai->driver->capture.stream_name; |
| 3339 | 3353 | ||
| 3340 | dev_dbg(dai->dev, "adding %s widget\n", | 3354 | dev_dbg(dai->dev, "ASoC: adding %s widget\n", |
| 3341 | template.name); | 3355 | template.name); |
| 3342 | 3356 | ||
| 3343 | w = snd_soc_dapm_new_control(dapm, &template); | 3357 | w = snd_soc_dapm_new_control(dapm, &template); |
| 3344 | if (!w) { | 3358 | if (!w) { |
| 3345 | dev_err(dapm->dev, "Failed to create %s widget\n", | 3359 | dev_err(dapm->dev, "ASoC: Failed to create %s widget\n", |
| 3346 | dai->driver->capture.stream_name); | 3360 | dai->driver->capture.stream_name); |
| 3347 | } | 3361 | } |
| 3348 | 3362 | ||
| @@ -3518,11 +3532,11 @@ int snd_soc_dapm_force_enable_pin(struct snd_soc_dapm_context *dapm, | |||
| 3518 | struct snd_soc_dapm_widget *w = dapm_find_widget(dapm, pin, true); | 3532 | struct snd_soc_dapm_widget *w = dapm_find_widget(dapm, pin, true); |
| 3519 | 3533 | ||
| 3520 | if (!w) { | 3534 | if (!w) { |
| 3521 | dev_err(dapm->dev, "dapm: unknown pin %s\n", pin); | 3535 | dev_err(dapm->dev, "ASoC: unknown pin %s\n", pin); |
| 3522 | return -EINVAL; | 3536 | return -EINVAL; |
| 3523 | } | 3537 | } |
| 3524 | 3538 | ||
| 3525 | dev_dbg(w->dapm->dev, "dapm: force enable pin %s\n", pin); | 3539 | dev_dbg(w->dapm->dev, "ASoC: force enable pin %s\n", pin); |
| 3526 | w->connected = 1; | 3540 | w->connected = 1; |
| 3527 | w->force = 1; | 3541 | w->force = 1; |
| 3528 | dapm_mark_dirty(w, "force enable"); | 3542 | dapm_mark_dirty(w, "force enable"); |
| @@ -3605,7 +3619,7 @@ int snd_soc_dapm_ignore_suspend(struct snd_soc_dapm_context *dapm, | |||
| 3605 | struct snd_soc_dapm_widget *w = dapm_find_widget(dapm, pin, false); | 3619 | struct snd_soc_dapm_widget *w = dapm_find_widget(dapm, pin, false); |
| 3606 | 3620 | ||
| 3607 | if (!w) { | 3621 | if (!w) { |
| 3608 | dev_err(dapm->dev, "dapm: unknown pin %s\n", pin); | 3622 | dev_err(dapm->dev, "ASoC: unknown pin %s\n", pin); |
| 3609 | return -EINVAL; | 3623 | return -EINVAL; |
| 3610 | } | 3624 | } |
| 3611 | 3625 | ||
| @@ -3664,7 +3678,7 @@ void snd_soc_dapm_auto_nc_codec_pins(struct snd_soc_codec *codec) | |||
| 3664 | struct snd_soc_dapm_context *dapm = &codec->dapm; | 3678 | struct snd_soc_dapm_context *dapm = &codec->dapm; |
| 3665 | struct snd_soc_dapm_widget *w; | 3679 | struct snd_soc_dapm_widget *w; |
| 3666 | 3680 | ||
| 3667 | dev_dbg(codec->dev, "Auto NC: DAPMs: card:%p codec:%p\n", | 3681 | dev_dbg(codec->dev, "ASoC: Auto NC: DAPMs: card:%p codec:%p\n", |
| 3668 | &card->dapm, &codec->dapm); | 3682 | &card->dapm, &codec->dapm); |
| 3669 | 3683 | ||
| 3670 | list_for_each_entry(w, &card->widgets, list) { | 3684 | list_for_each_entry(w, &card->widgets, list) { |
| @@ -3674,7 +3688,7 @@ void snd_soc_dapm_auto_nc_codec_pins(struct snd_soc_codec *codec) | |||
| 3674 | case snd_soc_dapm_input: | 3688 | case snd_soc_dapm_input: |
| 3675 | case snd_soc_dapm_output: | 3689 | case snd_soc_dapm_output: |
| 3676 | case snd_soc_dapm_micbias: | 3690 | case snd_soc_dapm_micbias: |
| 3677 | dev_dbg(codec->dev, "Auto NC: Checking widget %s\n", | 3691 | dev_dbg(codec->dev, "ASoC: Auto NC: Checking widget %s\n", |
| 3678 | w->name); | 3692 | w->name); |
| 3679 | if (!snd_soc_dapm_widget_in_card_paths(card, w)) { | 3693 | if (!snd_soc_dapm_widget_in_card_paths(card, w)) { |
| 3680 | dev_dbg(codec->dev, | 3694 | dev_dbg(codec->dev, |
diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c index e41e14c9565e..0bb5cccd7766 100644 --- a/sound/soc/soc-jack.c +++ b/sound/soc/soc-jack.c | |||
| @@ -169,12 +169,13 @@ int snd_soc_jack_add_pins(struct snd_soc_jack *jack, int count, | |||
| 169 | 169 | ||
| 170 | for (i = 0; i < count; i++) { | 170 | for (i = 0; i < count; i++) { |
| 171 | if (!pins[i].pin) { | 171 | if (!pins[i].pin) { |
| 172 | printk(KERN_ERR "No name for pin %d\n", i); | 172 | dev_err(jack->codec->dev, "ASoC: No name for pin %d\n", |
| 173 | i); | ||
| 173 | return -EINVAL; | 174 | return -EINVAL; |
| 174 | } | 175 | } |
| 175 | if (!pins[i].mask) { | 176 | if (!pins[i].mask) { |
| 176 | printk(KERN_ERR "No mask for pin %d (%s)\n", i, | 177 | dev_err(jack->codec->dev, "ASoC: No mask for pin %d" |
| 177 | pins[i].pin); | 178 | " (%s)\n", i, pins[i].pin); |
| 178 | return -EINVAL; | 179 | return -EINVAL; |
| 179 | } | 180 | } |
| 180 | 181 | ||
| @@ -294,13 +295,13 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, | |||
| 294 | 295 | ||
| 295 | for (i = 0; i < count; i++) { | 296 | for (i = 0; i < count; i++) { |
| 296 | if (!gpio_is_valid(gpios[i].gpio)) { | 297 | if (!gpio_is_valid(gpios[i].gpio)) { |
| 297 | printk(KERN_ERR "Invalid gpio %d\n", | 298 | dev_err(jack->codec->dev, "ASoC: Invalid gpio %d\n", |
| 298 | gpios[i].gpio); | 299 | gpios[i].gpio); |
| 299 | ret = -EINVAL; | 300 | ret = -EINVAL; |
| 300 | goto undo; | 301 | goto undo; |
| 301 | } | 302 | } |
| 302 | if (!gpios[i].name) { | 303 | if (!gpios[i].name) { |
| 303 | printk(KERN_ERR "No name for gpio %d\n", | 304 | dev_err(jack->codec->dev, "ASoC: No name for gpio %d\n", |
| 304 | gpios[i].gpio); | 305 | gpios[i].gpio); |
| 305 | ret = -EINVAL; | 306 | ret = -EINVAL; |
| 306 | goto undo; | 307 | goto undo; |
| @@ -329,7 +330,7 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, | |||
| 329 | if (gpios[i].wake) { | 330 | if (gpios[i].wake) { |
| 330 | ret = irq_set_irq_wake(gpio_to_irq(gpios[i].gpio), 1); | 331 | ret = irq_set_irq_wake(gpio_to_irq(gpios[i].gpio), 1); |
| 331 | if (ret != 0) | 332 | if (ret != 0) |
| 332 | printk(KERN_ERR | 333 | dev_err(jack->codec->dev, "ASoC: " |
| 333 | "Failed to mark GPIO %d as wake source: %d\n", | 334 | "Failed to mark GPIO %d as wake source: %d\n", |
| 334 | gpios[i].gpio, ret); | 335 | gpios[i].gpio, ret); |
| 335 | } | 336 | } |
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index ef22d0bd9e9e..5c3ca2a34661 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c | |||
| @@ -43,7 +43,7 @@ static int dpcm_dapm_stream_event(struct snd_soc_pcm_runtime *fe, int dir, | |||
| 43 | 43 | ||
| 44 | struct snd_soc_pcm_runtime *be = dpcm->be; | 44 | struct snd_soc_pcm_runtime *be = dpcm->be; |
| 45 | 45 | ||
| 46 | dev_dbg(be->dev, "pm: BE %s event %d dir %d\n", | 46 | dev_dbg(be->dev, "ASoC: BE %s event %d dir %d\n", |
| 47 | be->dai_link->name, event, dir); | 47 | be->dai_link->name, event, dir); |
| 48 | 48 | ||
| 49 | snd_soc_dapm_stream_event(be, dir, event); | 49 | snd_soc_dapm_stream_event(be, dir, event); |
| @@ -70,18 +70,19 @@ static int soc_pcm_apply_symmetry(struct snd_pcm_substream *substream, | |||
| 70 | */ | 70 | */ |
| 71 | if (!soc_dai->rate) { | 71 | if (!soc_dai->rate) { |
| 72 | dev_warn(soc_dai->dev, | 72 | dev_warn(soc_dai->dev, |
| 73 | "Not enforcing symmetric_rates due to race\n"); | 73 | "ASoC: Not enforcing symmetric_rates due to race\n"); |
| 74 | return 0; | 74 | return 0; |
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | dev_dbg(soc_dai->dev, "Symmetry forces %dHz rate\n", soc_dai->rate); | 77 | dev_dbg(soc_dai->dev, "ASoC: Symmetry forces %dHz rate\n", soc_dai->rate); |
| 78 | 78 | ||
| 79 | ret = snd_pcm_hw_constraint_minmax(substream->runtime, | 79 | ret = snd_pcm_hw_constraint_minmax(substream->runtime, |
| 80 | SNDRV_PCM_HW_PARAM_RATE, | 80 | SNDRV_PCM_HW_PARAM_RATE, |
| 81 | soc_dai->rate, soc_dai->rate); | 81 | soc_dai->rate, soc_dai->rate); |
| 82 | if (ret < 0) { | 82 | if (ret < 0) { |
| 83 | dev_err(soc_dai->dev, | 83 | dev_err(soc_dai->dev, |
| 84 | "Unable to apply rate symmetry constraint: %d\n", ret); | 84 | "ASoC: Unable to apply rate symmetry constraint: %d\n", |
| 85 | ret); | ||
| 85 | return ret; | 86 | return ret; |
| 86 | } | 87 | } |
| 87 | 88 | ||
| @@ -118,7 +119,7 @@ static void soc_pcm_apply_msb(struct snd_pcm_substream *substream, | |||
| 118 | sample_sizes[i], bits); | 119 | sample_sizes[i], bits); |
| 119 | if (ret != 0) | 120 | if (ret != 0) |
| 120 | dev_warn(dai->dev, | 121 | dev_warn(dai->dev, |
| 121 | "Failed to set MSB %d/%d: %d\n", | 122 | "ASoC: Failed to set MSB %d/%d: %d\n", |
| 122 | bits, sample_sizes[i], ret); | 123 | bits, sample_sizes[i], ret); |
| 123 | } | 124 | } |
| 124 | } | 125 | } |
| @@ -149,8 +150,8 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
| 149 | if (cpu_dai->driver->ops->startup) { | 150 | if (cpu_dai->driver->ops->startup) { |
| 150 | ret = cpu_dai->driver->ops->startup(substream, cpu_dai); | 151 | ret = cpu_dai->driver->ops->startup(substream, cpu_dai); |
| 151 | if (ret < 0) { | 152 | if (ret < 0) { |
| 152 | dev_err(cpu_dai->dev, "can't open interface %s: %d\n", | 153 | dev_err(cpu_dai->dev, "ASoC: can't open interface" |
| 153 | cpu_dai->name, ret); | 154 | " %s: %d\n", cpu_dai->name, ret); |
| 154 | goto out; | 155 | goto out; |
| 155 | } | 156 | } |
| 156 | } | 157 | } |
| @@ -158,8 +159,8 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
| 158 | if (platform->driver->ops && platform->driver->ops->open) { | 159 | if (platform->driver->ops && platform->driver->ops->open) { |
| 159 | ret = platform->driver->ops->open(substream); | 160 | ret = platform->driver->ops->open(substream); |
| 160 | if (ret < 0) { | 161 | if (ret < 0) { |
| 161 | dev_err(platform->dev, "can't open platform %s: %d\n", | 162 | dev_err(platform->dev, "ASoC: can't open platform" |
| 162 | platform->name, ret); | 163 | " %s: %d\n", platform->name, ret); |
| 163 | goto platform_err; | 164 | goto platform_err; |
| 164 | } | 165 | } |
| 165 | } | 166 | } |
| @@ -167,8 +168,8 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
| 167 | if (codec_dai->driver->ops->startup) { | 168 | if (codec_dai->driver->ops->startup) { |
| 168 | ret = codec_dai->driver->ops->startup(substream, codec_dai); | 169 | ret = codec_dai->driver->ops->startup(substream, codec_dai); |
| 169 | if (ret < 0) { | 170 | if (ret < 0) { |
| 170 | dev_err(codec_dai->dev, "can't open codec %s: %d\n", | 171 | dev_err(codec_dai->dev, "ASoC: can't open codec" |
| 171 | codec_dai->name, ret); | 172 | " %s: %d\n", codec_dai->name, ret); |
| 172 | goto codec_dai_err; | 173 | goto codec_dai_err; |
| 173 | } | 174 | } |
| 174 | } | 175 | } |
| @@ -176,7 +177,7 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
| 176 | if (rtd->dai_link->ops && rtd->dai_link->ops->startup) { | 177 | if (rtd->dai_link->ops && rtd->dai_link->ops->startup) { |
| 177 | ret = rtd->dai_link->ops->startup(substream); | 178 | ret = rtd->dai_link->ops->startup(substream); |
| 178 | if (ret < 0) { | 179 | if (ret < 0) { |
| 179 | pr_err("asoc: %s startup failed: %d\n", | 180 | pr_err("ASoC: %s startup failed: %d\n", |
| 180 | rtd->dai_link->name, ret); | 181 | rtd->dai_link->name, ret); |
| 181 | goto machine_err; | 182 | goto machine_err; |
| 182 | } | 183 | } |
| @@ -238,18 +239,18 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
| 238 | ret = -EINVAL; | 239 | ret = -EINVAL; |
| 239 | snd_pcm_limit_hw_rates(runtime); | 240 | snd_pcm_limit_hw_rates(runtime); |
| 240 | if (!runtime->hw.rates) { | 241 | if (!runtime->hw.rates) { |
| 241 | printk(KERN_ERR "asoc: %s <-> %s No matching rates\n", | 242 | printk(KERN_ERR "ASoC: %s <-> %s No matching rates\n", |
| 242 | codec_dai->name, cpu_dai->name); | 243 | codec_dai->name, cpu_dai->name); |
| 243 | goto config_err; | 244 | goto config_err; |
| 244 | } | 245 | } |
| 245 | if (!runtime->hw.formats) { | 246 | if (!runtime->hw.formats) { |
| 246 | printk(KERN_ERR "asoc: %s <-> %s No matching formats\n", | 247 | printk(KERN_ERR "ASoC: %s <-> %s No matching formats\n", |
| 247 | codec_dai->name, cpu_dai->name); | 248 | codec_dai->name, cpu_dai->name); |
| 248 | goto config_err; | 249 | goto config_err; |
| 249 | } | 250 | } |
| 250 | if (!runtime->hw.channels_min || !runtime->hw.channels_max || | 251 | if (!runtime->hw.channels_min || !runtime->hw.channels_max || |
| 251 | runtime->hw.channels_min > runtime->hw.channels_max) { | 252 | runtime->hw.channels_min > runtime->hw.channels_max) { |
| 252 | printk(KERN_ERR "asoc: %s <-> %s No matching channels\n", | 253 | printk(KERN_ERR "ASoC: %s <-> %s No matching channels\n", |
| 253 | codec_dai->name, cpu_dai->name); | 254 | codec_dai->name, cpu_dai->name); |
| 254 | goto config_err; | 255 | goto config_err; |
| 255 | } | 256 | } |
| @@ -270,12 +271,12 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
| 270 | goto config_err; | 271 | goto config_err; |
| 271 | } | 272 | } |
| 272 | 273 | ||
| 273 | pr_debug("asoc: %s <-> %s info:\n", | 274 | pr_debug("ASoC: %s <-> %s info:\n", |
| 274 | codec_dai->name, cpu_dai->name); | 275 | codec_dai->name, cpu_dai->name); |
| 275 | pr_debug("asoc: rate mask 0x%x\n", runtime->hw.rates); | 276 | pr_debug("ASoC: rate mask 0x%x\n", runtime->hw.rates); |
| 276 | pr_debug("asoc: min ch %d max ch %d\n", runtime->hw.channels_min, | 277 | pr_debug("ASoC: min ch %d max ch %d\n", runtime->hw.channels_min, |
| 277 | runtime->hw.channels_max); | 278 | runtime->hw.channels_max); |
| 278 | pr_debug("asoc: min rate %d max rate %d\n", runtime->hw.rate_min, | 279 | pr_debug("ASoC: min rate %d max rate %d\n", runtime->hw.rate_min, |
| 279 | runtime->hw.rate_max); | 280 | runtime->hw.rate_max); |
| 280 | 281 | ||
| 281 | dynamic: | 282 | dynamic: |
| @@ -330,7 +331,7 @@ static void close_delayed_work(struct work_struct *work) | |||
| 330 | 331 | ||
| 331 | mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass); | 332 | mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass); |
| 332 | 333 | ||
| 333 | pr_debug("pop wq checking: %s status: %s waiting: %s\n", | 334 | dev_dbg(rtd->dev, "ASoC: pop wq checking: %s status: %s waiting: %s\n", |
| 334 | codec_dai->driver->playback.stream_name, | 335 | codec_dai->driver->playback.stream_name, |
| 335 | codec_dai->playback_active ? "active" : "inactive", | 336 | codec_dai->playback_active ? "active" : "inactive", |
| 336 | codec_dai->pop_wait ? "yes" : "no"); | 337 | codec_dai->pop_wait ? "yes" : "no"); |
| @@ -444,7 +445,8 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream) | |||
| 444 | if (rtd->dai_link->ops && rtd->dai_link->ops->prepare) { | 445 | if (rtd->dai_link->ops && rtd->dai_link->ops->prepare) { |
| 445 | ret = rtd->dai_link->ops->prepare(substream); | 446 | ret = rtd->dai_link->ops->prepare(substream); |
| 446 | if (ret < 0) { | 447 | if (ret < 0) { |
| 447 | pr_err("asoc: machine prepare error: %d\n", ret); | 448 | dev_err(rtd->card->dev, "ASoC: machine prepare error:" |
| 449 | " %d\n", ret); | ||
| 448 | goto out; | 450 | goto out; |
| 449 | } | 451 | } |
| 450 | } | 452 | } |
| @@ -452,8 +454,8 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream) | |||
| 452 | if (platform->driver->ops && platform->driver->ops->prepare) { | 454 | if (platform->driver->ops && platform->driver->ops->prepare) { |
| 453 | ret = platform->driver->ops->prepare(substream); | 455 | ret = platform->driver->ops->prepare(substream); |
| 454 | if (ret < 0) { | 456 | if (ret < 0) { |
| 455 | dev_err(platform->dev, "platform prepare error: %d\n", | 457 | dev_err(platform->dev, "ASoC: platform prepare error:" |
| 456 | ret); | 458 | " %d\n", ret); |
| 457 | goto out; | 459 | goto out; |
| 458 | } | 460 | } |
| 459 | } | 461 | } |
| @@ -461,7 +463,7 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream) | |||
| 461 | if (codec_dai->driver->ops->prepare) { | 463 | if (codec_dai->driver->ops->prepare) { |
| 462 | ret = codec_dai->driver->ops->prepare(substream, codec_dai); | 464 | ret = codec_dai->driver->ops->prepare(substream, codec_dai); |
| 463 | if (ret < 0) { | 465 | if (ret < 0) { |
| 464 | dev_err(codec_dai->dev, "DAI prepare error: %d\n", | 466 | dev_err(codec_dai->dev, "ASoC: DAI prepare error: %d\n", |
| 465 | ret); | 467 | ret); |
| 466 | goto out; | 468 | goto out; |
| 467 | } | 469 | } |
| @@ -470,7 +472,7 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream) | |||
| 470 | if (cpu_dai->driver->ops->prepare) { | 472 | if (cpu_dai->driver->ops->prepare) { |
| 471 | ret = cpu_dai->driver->ops->prepare(substream, cpu_dai); | 473 | ret = cpu_dai->driver->ops->prepare(substream, cpu_dai); |
| 472 | if (ret < 0) { | 474 | if (ret < 0) { |
| 473 | dev_err(cpu_dai->dev, "DAI prepare error: %d\n", | 475 | dev_err(cpu_dai->dev, "ASoC: DAI prepare error: %d\n", |
| 474 | ret); | 476 | ret); |
| 475 | goto out; | 477 | goto out; |
| 476 | } | 478 | } |
| @@ -512,7 +514,8 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream, | |||
| 512 | if (rtd->dai_link->ops && rtd->dai_link->ops->hw_params) { | 514 | if (rtd->dai_link->ops && rtd->dai_link->ops->hw_params) { |
| 513 | ret = rtd->dai_link->ops->hw_params(substream, params); | 515 | ret = rtd->dai_link->ops->hw_params(substream, params); |
| 514 | if (ret < 0) { | 516 | if (ret < 0) { |
| 515 | pr_err("asoc: machine hw_params failed: %d\n", ret); | 517 | dev_err(rtd->card->dev, "ASoC: machine hw_params" |
| 518 | " failed: %d\n", ret); | ||
| 516 | goto out; | 519 | goto out; |
| 517 | } | 520 | } |
| 518 | } | 521 | } |
| @@ -520,8 +523,8 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream, | |||
| 520 | if (codec_dai->driver->ops->hw_params) { | 523 | if (codec_dai->driver->ops->hw_params) { |
| 521 | ret = codec_dai->driver->ops->hw_params(substream, params, codec_dai); | 524 | ret = codec_dai->driver->ops->hw_params(substream, params, codec_dai); |
| 522 | if (ret < 0) { | 525 | if (ret < 0) { |
| 523 | dev_err(codec_dai->dev, "can't set %s hw params: %d\n", | 526 | dev_err(codec_dai->dev, "ASoC: can't set %s hw params:" |
| 524 | codec_dai->name, ret); | 527 | " %d\n", codec_dai->name, ret); |
| 525 | goto codec_err; | 528 | goto codec_err; |
| 526 | } | 529 | } |
| 527 | } | 530 | } |
| @@ -529,7 +532,7 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream, | |||
| 529 | if (cpu_dai->driver->ops->hw_params) { | 532 | if (cpu_dai->driver->ops->hw_params) { |
| 530 | ret = cpu_dai->driver->ops->hw_params(substream, params, cpu_dai); | 533 | ret = cpu_dai->driver->ops->hw_params(substream, params, cpu_dai); |
| 531 | if (ret < 0) { | 534 | if (ret < 0) { |
| 532 | dev_err(cpu_dai->dev, "%s hw params failed: %d\n", | 535 | dev_err(cpu_dai->dev, "ASoC: %s hw params failed: %d\n", |
| 533 | cpu_dai->name, ret); | 536 | cpu_dai->name, ret); |
| 534 | goto interface_err; | 537 | goto interface_err; |
| 535 | } | 538 | } |
| @@ -538,7 +541,7 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream, | |||
| 538 | if (platform->driver->ops && platform->driver->ops->hw_params) { | 541 | if (platform->driver->ops && platform->driver->ops->hw_params) { |
| 539 | ret = platform->driver->ops->hw_params(substream, params); | 542 | ret = platform->driver->ops->hw_params(substream, params); |
| 540 | if (ret < 0) { | 543 | if (ret < 0) { |
| 541 | dev_err(platform->dev, "%s hw params failed: %d\n", | 544 | dev_err(platform->dev, "ASoC: %s hw params failed: %d\n", |
| 542 | platform->name, ret); | 545 | platform->name, ret); |
| 543 | goto platform_err; | 546 | goto platform_err; |
| 544 | } | 547 | } |
| @@ -760,7 +763,7 @@ static void dpcm_be_disconnect(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 760 | struct snd_soc_dpcm *dpcm, *d; | 763 | struct snd_soc_dpcm *dpcm, *d; |
| 761 | 764 | ||
| 762 | list_for_each_entry_safe(dpcm, d, &fe->dpcm[stream].be_clients, list_be) { | 765 | list_for_each_entry_safe(dpcm, d, &fe->dpcm[stream].be_clients, list_be) { |
| 763 | dev_dbg(fe->dev, "BE %s disconnect check for %s\n", | 766 | dev_dbg(fe->dev, "ASoC: BE %s disconnect check for %s\n", |
| 764 | stream ? "capture" : "playback", | 767 | stream ? "capture" : "playback", |
| 765 | dpcm->be->dai_link->name); | 768 | dpcm->be->dai_link->name); |
| 766 | 769 | ||
| @@ -815,7 +818,7 @@ static struct snd_soc_pcm_runtime *dpcm_get_be(struct snd_soc_card *card, | |||
| 815 | } | 818 | } |
| 816 | } | 819 | } |
| 817 | 820 | ||
| 818 | dev_err(card->dev, "can't get %s BE for %s\n", | 821 | dev_err(card->dev, "ASoC: can't get %s BE for %s\n", |
| 819 | stream ? "capture" : "playback", widget->name); | 822 | stream ? "capture" : "playback", widget->name); |
| 820 | return NULL; | 823 | return NULL; |
| 821 | } | 824 | } |
| @@ -866,7 +869,7 @@ static int dpcm_path_get(struct snd_soc_pcm_runtime *fe, | |||
| 866 | /* get number of valid DAI paths and their widgets */ | 869 | /* get number of valid DAI paths and their widgets */ |
| 867 | paths = snd_soc_dapm_dai_get_connected_widgets(cpu_dai, stream, &list); | 870 | paths = snd_soc_dapm_dai_get_connected_widgets(cpu_dai, stream, &list); |
| 868 | 871 | ||
| 869 | dev_dbg(fe->dev, "found %d audio %s paths\n", paths, | 872 | dev_dbg(fe->dev, "ASoC: found %d audio %s paths\n", paths, |
| 870 | stream ? "capture" : "playback"); | 873 | stream ? "capture" : "playback"); |
| 871 | 874 | ||
| 872 | *list_ = list; | 875 | *list_ = list; |
| @@ -903,7 +906,7 @@ static int dpcm_prune_paths(struct snd_soc_pcm_runtime *fe, int stream, | |||
| 903 | if (widget && widget_in_list(list, widget)) | 906 | if (widget && widget_in_list(list, widget)) |
| 904 | continue; | 907 | continue; |
| 905 | 908 | ||
| 906 | dev_dbg(fe->dev, "pruning %s BE %s for %s\n", | 909 | dev_dbg(fe->dev, "ASoC: pruning %s BE %s for %s\n", |
| 907 | stream ? "capture" : "playback", | 910 | stream ? "capture" : "playback", |
| 908 | dpcm->be->dai_link->name, fe->dai_link->name); | 911 | dpcm->be->dai_link->name, fe->dai_link->name); |
| 909 | dpcm->state = SND_SOC_DPCM_LINK_STATE_FREE; | 912 | dpcm->state = SND_SOC_DPCM_LINK_STATE_FREE; |
| @@ -911,7 +914,7 @@ static int dpcm_prune_paths(struct snd_soc_pcm_runtime *fe, int stream, | |||
| 911 | prune++; | 914 | prune++; |
| 912 | } | 915 | } |
| 913 | 916 | ||
| 914 | dev_dbg(fe->dev, "found %d old BE paths for pruning\n", prune); | 917 | dev_dbg(fe->dev, "ASoC: found %d old BE paths for pruning\n", prune); |
| 915 | return prune; | 918 | return prune; |
| 916 | } | 919 | } |
| 917 | 920 | ||
| @@ -932,7 +935,7 @@ static int dpcm_add_paths(struct snd_soc_pcm_runtime *fe, int stream, | |||
| 932 | /* is there a valid BE rtd for this widget */ | 935 | /* is there a valid BE rtd for this widget */ |
| 933 | be = dpcm_get_be(card, list->widgets[i], stream); | 936 | be = dpcm_get_be(card, list->widgets[i], stream); |
| 934 | if (!be) { | 937 | if (!be) { |
| 935 | dev_err(fe->dev, "no BE found for %s\n", | 938 | dev_err(fe->dev, "ASoC: no BE found for %s\n", |
| 936 | list->widgets[i]->name); | 939 | list->widgets[i]->name); |
| 937 | continue; | 940 | continue; |
| 938 | } | 941 | } |
| @@ -948,7 +951,7 @@ static int dpcm_add_paths(struct snd_soc_pcm_runtime *fe, int stream, | |||
| 948 | /* newly connected FE and BE */ | 951 | /* newly connected FE and BE */ |
| 949 | err = dpcm_be_connect(fe, be, stream); | 952 | err = dpcm_be_connect(fe, be, stream); |
| 950 | if (err < 0) { | 953 | if (err < 0) { |
| 951 | dev_err(fe->dev, "can't connect %s\n", | 954 | dev_err(fe->dev, "ASoC: can't connect %s\n", |
| 952 | list->widgets[i]->name); | 955 | list->widgets[i]->name); |
| 953 | break; | 956 | break; |
| 954 | } else if (err == 0) /* already connected */ | 957 | } else if (err == 0) /* already connected */ |
| @@ -959,7 +962,7 @@ static int dpcm_add_paths(struct snd_soc_pcm_runtime *fe, int stream, | |||
| 959 | new++; | 962 | new++; |
| 960 | } | 963 | } |
| 961 | 964 | ||
| 962 | dev_dbg(fe->dev, "found %d new BE paths\n", new); | 965 | dev_dbg(fe->dev, "ASoC: found %d new BE paths\n", new); |
| 963 | return new; | 966 | return new; |
| 964 | } | 967 | } |
| 965 | 968 | ||
| @@ -998,7 +1001,7 @@ static void dpcm_be_dai_startup_unwind(struct snd_soc_pcm_runtime *fe, | |||
| 998 | snd_soc_dpcm_get_substream(be, stream); | 1001 | snd_soc_dpcm_get_substream(be, stream); |
| 999 | 1002 | ||
| 1000 | if (be->dpcm[stream].users == 0) | 1003 | if (be->dpcm[stream].users == 0) |
| 1001 | dev_err(be->dev, "no users %s at close - state %d\n", | 1004 | dev_err(be->dev, "ASoC: no users %s at close - state %d\n", |
| 1002 | stream ? "capture" : "playback", | 1005 | stream ? "capture" : "playback", |
| 1003 | be->dpcm[stream].state); | 1006 | be->dpcm[stream].state); |
| 1004 | 1007 | ||
| @@ -1032,7 +1035,7 @@ static int dpcm_be_dai_startup(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1032 | 1035 | ||
| 1033 | /* first time the dpcm is open ? */ | 1036 | /* first time the dpcm is open ? */ |
| 1034 | if (be->dpcm[stream].users == DPCM_MAX_BE_USERS) | 1037 | if (be->dpcm[stream].users == DPCM_MAX_BE_USERS) |
| 1035 | dev_err(be->dev, "too many users %s at open %d\n", | 1038 | dev_err(be->dev, "ASoC: too many users %s at open %d\n", |
| 1036 | stream ? "capture" : "playback", | 1039 | stream ? "capture" : "playback", |
| 1037 | be->dpcm[stream].state); | 1040 | be->dpcm[stream].state); |
| 1038 | 1041 | ||
| @@ -1043,15 +1046,15 @@ static int dpcm_be_dai_startup(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1043 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_CLOSE)) | 1046 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_CLOSE)) |
| 1044 | continue; | 1047 | continue; |
| 1045 | 1048 | ||
| 1046 | dev_dbg(be->dev, "dpcm: open BE %s\n", be->dai_link->name); | 1049 | dev_dbg(be->dev, "ASoC: open BE %s\n", be->dai_link->name); |
| 1047 | 1050 | ||
| 1048 | be_substream->runtime = be->dpcm[stream].runtime; | 1051 | be_substream->runtime = be->dpcm[stream].runtime; |
| 1049 | err = soc_pcm_open(be_substream); | 1052 | err = soc_pcm_open(be_substream); |
| 1050 | if (err < 0) { | 1053 | if (err < 0) { |
| 1051 | dev_err(be->dev, "BE open failed %d\n", err); | 1054 | dev_err(be->dev, "ASoC: BE open failed %d\n", err); |
| 1052 | be->dpcm[stream].users--; | 1055 | be->dpcm[stream].users--; |
| 1053 | if (be->dpcm[stream].users < 0) | 1056 | if (be->dpcm[stream].users < 0) |
| 1054 | dev_err(be->dev, "no users %s at unwind %d\n", | 1057 | dev_err(be->dev, "ASoC: no users %s at unwind %d\n", |
| 1055 | stream ? "capture" : "playback", | 1058 | stream ? "capture" : "playback", |
| 1056 | be->dpcm[stream].state); | 1059 | be->dpcm[stream].state); |
| 1057 | 1060 | ||
| @@ -1076,7 +1079,7 @@ unwind: | |||
| 1076 | continue; | 1079 | continue; |
| 1077 | 1080 | ||
| 1078 | if (be->dpcm[stream].users == 0) | 1081 | if (be->dpcm[stream].users == 0) |
| 1079 | dev_err(be->dev, "no users %s at close %d\n", | 1082 | dev_err(be->dev, "ASoC: no users %s at close %d\n", |
| 1080 | stream ? "capture" : "playback", | 1083 | stream ? "capture" : "playback", |
| 1081 | be->dpcm[stream].state); | 1084 | be->dpcm[stream].state); |
| 1082 | 1085 | ||
| @@ -1128,16 +1131,16 @@ static int dpcm_fe_dai_startup(struct snd_pcm_substream *fe_substream) | |||
| 1128 | 1131 | ||
| 1129 | ret = dpcm_be_dai_startup(fe, fe_substream->stream); | 1132 | ret = dpcm_be_dai_startup(fe, fe_substream->stream); |
| 1130 | if (ret < 0) { | 1133 | if (ret < 0) { |
| 1131 | dev_err(fe->dev,"dpcm: failed to start some BEs %d\n", ret); | 1134 | dev_err(fe->dev,"ASoC: failed to start some BEs %d\n", ret); |
| 1132 | goto be_err; | 1135 | goto be_err; |
| 1133 | } | 1136 | } |
| 1134 | 1137 | ||
| 1135 | dev_dbg(fe->dev, "dpcm: open FE %s\n", fe->dai_link->name); | 1138 | dev_dbg(fe->dev, "ASoC: open FE %s\n", fe->dai_link->name); |
| 1136 | 1139 | ||
| 1137 | /* start the DAI frontend */ | 1140 | /* start the DAI frontend */ |
| 1138 | ret = soc_pcm_open(fe_substream); | 1141 | ret = soc_pcm_open(fe_substream); |
| 1139 | if (ret < 0) { | 1142 | if (ret < 0) { |
| 1140 | dev_err(fe->dev,"dpcm: failed to start FE %d\n", ret); | 1143 | dev_err(fe->dev,"ASoC: failed to start FE %d\n", ret); |
| 1141 | goto unwind; | 1144 | goto unwind; |
| 1142 | } | 1145 | } |
| 1143 | 1146 | ||
| @@ -1172,7 +1175,7 @@ static int dpcm_be_dai_shutdown(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1172 | continue; | 1175 | continue; |
| 1173 | 1176 | ||
| 1174 | if (be->dpcm[stream].users == 0) | 1177 | if (be->dpcm[stream].users == 0) |
| 1175 | dev_err(be->dev, "no users %s at close - state %d\n", | 1178 | dev_err(be->dev, "ASoC: no users %s at close - state %d\n", |
| 1176 | stream ? "capture" : "playback", | 1179 | stream ? "capture" : "playback", |
| 1177 | be->dpcm[stream].state); | 1180 | be->dpcm[stream].state); |
| 1178 | 1181 | ||
| @@ -1183,7 +1186,7 @@ static int dpcm_be_dai_shutdown(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1183 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_OPEN)) | 1186 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_OPEN)) |
| 1184 | continue; | 1187 | continue; |
| 1185 | 1188 | ||
| 1186 | dev_dbg(be->dev, "dpcm: close BE %s\n", | 1189 | dev_dbg(be->dev, "ASoC: close BE %s\n", |
| 1187 | dpcm->fe->dai_link->name); | 1190 | dpcm->fe->dai_link->name); |
| 1188 | 1191 | ||
| 1189 | soc_pcm_close(be_substream); | 1192 | soc_pcm_close(be_substream); |
| @@ -1204,7 +1207,7 @@ static int dpcm_fe_dai_shutdown(struct snd_pcm_substream *substream) | |||
| 1204 | /* shutdown the BEs */ | 1207 | /* shutdown the BEs */ |
| 1205 | dpcm_be_dai_shutdown(fe, substream->stream); | 1208 | dpcm_be_dai_shutdown(fe, substream->stream); |
| 1206 | 1209 | ||
| 1207 | dev_dbg(fe->dev, "dpcm: close FE %s\n", fe->dai_link->name); | 1210 | dev_dbg(fe->dev, "ASoC: close FE %s\n", fe->dai_link->name); |
| 1208 | 1211 | ||
| 1209 | /* now shutdown the frontend */ | 1212 | /* now shutdown the frontend */ |
| 1210 | soc_pcm_close(substream); | 1213 | soc_pcm_close(substream); |
| @@ -1243,7 +1246,7 @@ static int dpcm_be_dai_hw_free(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1243 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_STOP)) | 1246 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_STOP)) |
| 1244 | continue; | 1247 | continue; |
| 1245 | 1248 | ||
| 1246 | dev_dbg(be->dev, "dpcm: hw_free BE %s\n", | 1249 | dev_dbg(be->dev, "ASoC: hw_free BE %s\n", |
| 1247 | dpcm->fe->dai_link->name); | 1250 | dpcm->fe->dai_link->name); |
| 1248 | 1251 | ||
| 1249 | soc_pcm_hw_free(be_substream); | 1252 | soc_pcm_hw_free(be_substream); |
| @@ -1262,12 +1265,12 @@ static int dpcm_fe_dai_hw_free(struct snd_pcm_substream *substream) | |||
| 1262 | mutex_lock_nested(&fe->card->mutex, SND_SOC_CARD_CLASS_RUNTIME); | 1265 | mutex_lock_nested(&fe->card->mutex, SND_SOC_CARD_CLASS_RUNTIME); |
| 1263 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_FE; | 1266 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_FE; |
| 1264 | 1267 | ||
| 1265 | dev_dbg(fe->dev, "dpcm: hw_free FE %s\n", fe->dai_link->name); | 1268 | dev_dbg(fe->dev, "ASoC: hw_free FE %s\n", fe->dai_link->name); |
| 1266 | 1269 | ||
| 1267 | /* call hw_free on the frontend */ | 1270 | /* call hw_free on the frontend */ |
| 1268 | err = soc_pcm_hw_free(substream); | 1271 | err = soc_pcm_hw_free(substream); |
| 1269 | if (err < 0) | 1272 | if (err < 0) |
| 1270 | dev_err(fe->dev,"dpcm: hw_free FE %s failed\n", | 1273 | dev_err(fe->dev,"ASoC: hw_free FE %s failed\n", |
| 1271 | fe->dai_link->name); | 1274 | fe->dai_link->name); |
| 1272 | 1275 | ||
| 1273 | /* only hw_params backends that are either sinks or sources | 1276 | /* only hw_params backends that are either sinks or sources |
| @@ -1305,7 +1308,7 @@ static int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1305 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_FREE)) | 1308 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_FREE)) |
| 1306 | continue; | 1309 | continue; |
| 1307 | 1310 | ||
| 1308 | dev_dbg(be->dev, "dpcm: hw_params BE %s\n", | 1311 | dev_dbg(be->dev, "ASoC: hw_params BE %s\n", |
| 1309 | dpcm->fe->dai_link->name); | 1312 | dpcm->fe->dai_link->name); |
| 1310 | 1313 | ||
| 1311 | /* copy params for each dpcm */ | 1314 | /* copy params for each dpcm */ |
| @@ -1318,7 +1321,7 @@ static int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1318 | &dpcm->hw_params); | 1321 | &dpcm->hw_params); |
| 1319 | if (ret < 0) { | 1322 | if (ret < 0) { |
| 1320 | dev_err(be->dev, | 1323 | dev_err(be->dev, |
| 1321 | "dpcm: hw_params BE fixup failed %d\n", | 1324 | "ASoC: hw_params BE fixup failed %d\n", |
| 1322 | ret); | 1325 | ret); |
| 1323 | goto unwind; | 1326 | goto unwind; |
| 1324 | } | 1327 | } |
| @@ -1327,7 +1330,7 @@ static int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1327 | ret = soc_pcm_hw_params(be_substream, &dpcm->hw_params); | 1330 | ret = soc_pcm_hw_params(be_substream, &dpcm->hw_params); |
| 1328 | if (ret < 0) { | 1331 | if (ret < 0) { |
| 1329 | dev_err(dpcm->be->dev, | 1332 | dev_err(dpcm->be->dev, |
| 1330 | "dpcm: hw_params BE failed %d\n", ret); | 1333 | "ASoC: hw_params BE failed %d\n", ret); |
| 1331 | goto unwind; | 1334 | goto unwind; |
| 1332 | } | 1335 | } |
| 1333 | 1336 | ||
| @@ -1374,18 +1377,18 @@ static int dpcm_fe_dai_hw_params(struct snd_pcm_substream *substream, | |||
| 1374 | sizeof(struct snd_pcm_hw_params)); | 1377 | sizeof(struct snd_pcm_hw_params)); |
| 1375 | ret = dpcm_be_dai_hw_params(fe, substream->stream); | 1378 | ret = dpcm_be_dai_hw_params(fe, substream->stream); |
| 1376 | if (ret < 0) { | 1379 | if (ret < 0) { |
| 1377 | dev_err(fe->dev,"dpcm: hw_params BE failed %d\n", ret); | 1380 | dev_err(fe->dev,"ASoC: hw_params BE failed %d\n", ret); |
| 1378 | goto out; | 1381 | goto out; |
| 1379 | } | 1382 | } |
| 1380 | 1383 | ||
| 1381 | dev_dbg(fe->dev, "dpcm: hw_params FE %s rate %d chan %x fmt %d\n", | 1384 | dev_dbg(fe->dev, "ASoC: hw_params FE %s rate %d chan %x fmt %d\n", |
| 1382 | fe->dai_link->name, params_rate(params), | 1385 | fe->dai_link->name, params_rate(params), |
| 1383 | params_channels(params), params_format(params)); | 1386 | params_channels(params), params_format(params)); |
| 1384 | 1387 | ||
| 1385 | /* call hw_params on the frontend */ | 1388 | /* call hw_params on the frontend */ |
| 1386 | ret = soc_pcm_hw_params(substream, params); | 1389 | ret = soc_pcm_hw_params(substream, params); |
| 1387 | if (ret < 0) { | 1390 | if (ret < 0) { |
| 1388 | dev_err(fe->dev,"dpcm: hw_params FE failed %d\n", ret); | 1391 | dev_err(fe->dev,"ASoC: hw_params FE failed %d\n", ret); |
| 1389 | dpcm_be_dai_hw_free(fe, stream); | 1392 | dpcm_be_dai_hw_free(fe, stream); |
| 1390 | } else | 1393 | } else |
| 1391 | fe->dpcm[stream].state = SND_SOC_DPCM_STATE_HW_PARAMS; | 1394 | fe->dpcm[stream].state = SND_SOC_DPCM_STATE_HW_PARAMS; |
| @@ -1401,12 +1404,12 @@ static int dpcm_do_trigger(struct snd_soc_dpcm *dpcm, | |||
| 1401 | { | 1404 | { |
| 1402 | int ret; | 1405 | int ret; |
| 1403 | 1406 | ||
| 1404 | dev_dbg(dpcm->be->dev, "dpcm: trigger BE %s cmd %d\n", | 1407 | dev_dbg(dpcm->be->dev, "ASoC: trigger BE %s cmd %d\n", |
| 1405 | dpcm->fe->dai_link->name, cmd); | 1408 | dpcm->fe->dai_link->name, cmd); |
| 1406 | 1409 | ||
| 1407 | ret = soc_pcm_trigger(substream, cmd); | 1410 | ret = soc_pcm_trigger(substream, cmd); |
| 1408 | if (ret < 0) | 1411 | if (ret < 0) |
| 1409 | dev_err(dpcm->be->dev,"dpcm: trigger BE failed %d\n", ret); | 1412 | dev_err(dpcm->be->dev,"ASoC: trigger BE failed %d\n", ret); |
| 1410 | 1413 | ||
| 1411 | return ret; | 1414 | return ret; |
| 1412 | } | 1415 | } |
| @@ -1517,12 +1520,12 @@ static int dpcm_fe_dai_trigger(struct snd_pcm_substream *substream, int cmd) | |||
| 1517 | case SND_SOC_DPCM_TRIGGER_PRE: | 1520 | case SND_SOC_DPCM_TRIGGER_PRE: |
| 1518 | /* call trigger on the frontend before the backend. */ | 1521 | /* call trigger on the frontend before the backend. */ |
| 1519 | 1522 | ||
| 1520 | dev_dbg(fe->dev, "dpcm: pre trigger FE %s cmd %d\n", | 1523 | dev_dbg(fe->dev, "ASoC: pre trigger FE %s cmd %d\n", |
| 1521 | fe->dai_link->name, cmd); | 1524 | fe->dai_link->name, cmd); |
| 1522 | 1525 | ||
| 1523 | ret = soc_pcm_trigger(substream, cmd); | 1526 | ret = soc_pcm_trigger(substream, cmd); |
| 1524 | if (ret < 0) { | 1527 | if (ret < 0) { |
| 1525 | dev_err(fe->dev,"dpcm: trigger FE failed %d\n", ret); | 1528 | dev_err(fe->dev,"ASoC: trigger FE failed %d\n", ret); |
| 1526 | goto out; | 1529 | goto out; |
| 1527 | } | 1530 | } |
| 1528 | 1531 | ||
| @@ -1533,11 +1536,11 @@ static int dpcm_fe_dai_trigger(struct snd_pcm_substream *substream, int cmd) | |||
| 1533 | 1536 | ||
| 1534 | ret = dpcm_be_dai_trigger(fe, substream->stream, cmd); | 1537 | ret = dpcm_be_dai_trigger(fe, substream->stream, cmd); |
| 1535 | if (ret < 0) { | 1538 | if (ret < 0) { |
| 1536 | dev_err(fe->dev,"dpcm: trigger FE failed %d\n", ret); | 1539 | dev_err(fe->dev,"ASoC: trigger FE failed %d\n", ret); |
| 1537 | goto out; | 1540 | goto out; |
| 1538 | } | 1541 | } |
| 1539 | 1542 | ||
| 1540 | dev_dbg(fe->dev, "dpcm: post trigger FE %s cmd %d\n", | 1543 | dev_dbg(fe->dev, "ASoC: post trigger FE %s cmd %d\n", |
| 1541 | fe->dai_link->name, cmd); | 1544 | fe->dai_link->name, cmd); |
| 1542 | 1545 | ||
| 1543 | ret = soc_pcm_trigger(substream, cmd); | 1546 | ret = soc_pcm_trigger(substream, cmd); |
| @@ -1545,17 +1548,17 @@ static int dpcm_fe_dai_trigger(struct snd_pcm_substream *substream, int cmd) | |||
| 1545 | case SND_SOC_DPCM_TRIGGER_BESPOKE: | 1548 | case SND_SOC_DPCM_TRIGGER_BESPOKE: |
| 1546 | /* bespoke trigger() - handles both FE and BEs */ | 1549 | /* bespoke trigger() - handles both FE and BEs */ |
| 1547 | 1550 | ||
| 1548 | dev_dbg(fe->dev, "dpcm: bespoke trigger FE %s cmd %d\n", | 1551 | dev_dbg(fe->dev, "ASoC: bespoke trigger FE %s cmd %d\n", |
| 1549 | fe->dai_link->name, cmd); | 1552 | fe->dai_link->name, cmd); |
| 1550 | 1553 | ||
| 1551 | ret = soc_pcm_bespoke_trigger(substream, cmd); | 1554 | ret = soc_pcm_bespoke_trigger(substream, cmd); |
| 1552 | if (ret < 0) { | 1555 | if (ret < 0) { |
| 1553 | dev_err(fe->dev,"dpcm: trigger FE failed %d\n", ret); | 1556 | dev_err(fe->dev,"ASoC: trigger FE failed %d\n", ret); |
| 1554 | goto out; | 1557 | goto out; |
| 1555 | } | 1558 | } |
| 1556 | break; | 1559 | break; |
| 1557 | default: | 1560 | default: |
| 1558 | dev_err(fe->dev, "dpcm: invalid trigger cmd %d for %s\n", cmd, | 1561 | dev_err(fe->dev, "ASoC: invalid trigger cmd %d for %s\n", cmd, |
| 1559 | fe->dai_link->name); | 1562 | fe->dai_link->name); |
| 1560 | ret = -EINVAL; | 1563 | ret = -EINVAL; |
| 1561 | goto out; | 1564 | goto out; |
| @@ -1598,12 +1601,12 @@ static int dpcm_be_dai_prepare(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1598 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_STOP)) | 1601 | (be->dpcm[stream].state != SND_SOC_DPCM_STATE_STOP)) |
| 1599 | continue; | 1602 | continue; |
| 1600 | 1603 | ||
| 1601 | dev_dbg(be->dev, "dpcm: prepare BE %s\n", | 1604 | dev_dbg(be->dev, "ASoC: prepare BE %s\n", |
| 1602 | dpcm->fe->dai_link->name); | 1605 | dpcm->fe->dai_link->name); |
| 1603 | 1606 | ||
| 1604 | ret = soc_pcm_prepare(be_substream); | 1607 | ret = soc_pcm_prepare(be_substream); |
| 1605 | if (ret < 0) { | 1608 | if (ret < 0) { |
| 1606 | dev_err(be->dev, "dpcm: backend prepare failed %d\n", | 1609 | dev_err(be->dev, "ASoC: backend prepare failed %d\n", |
| 1607 | ret); | 1610 | ret); |
| 1608 | break; | 1611 | break; |
| 1609 | } | 1612 | } |
| @@ -1620,13 +1623,13 @@ static int dpcm_fe_dai_prepare(struct snd_pcm_substream *substream) | |||
| 1620 | 1623 | ||
| 1621 | mutex_lock_nested(&fe->card->mutex, SND_SOC_CARD_CLASS_RUNTIME); | 1624 | mutex_lock_nested(&fe->card->mutex, SND_SOC_CARD_CLASS_RUNTIME); |
| 1622 | 1625 | ||
| 1623 | dev_dbg(fe->dev, "dpcm: prepare FE %s\n", fe->dai_link->name); | 1626 | dev_dbg(fe->dev, "ASoC: prepare FE %s\n", fe->dai_link->name); |
| 1624 | 1627 | ||
| 1625 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_FE; | 1628 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_FE; |
| 1626 | 1629 | ||
| 1627 | /* there is no point preparing this FE if there are no BEs */ | 1630 | /* there is no point preparing this FE if there are no BEs */ |
| 1628 | if (list_empty(&fe->dpcm[stream].be_clients)) { | 1631 | if (list_empty(&fe->dpcm[stream].be_clients)) { |
| 1629 | dev_err(fe->dev, "dpcm: no backend DAIs enabled for %s\n", | 1632 | dev_err(fe->dev, "ASoC: no backend DAIs enabled for %s\n", |
| 1630 | fe->dai_link->name); | 1633 | fe->dai_link->name); |
| 1631 | ret = -EINVAL; | 1634 | ret = -EINVAL; |
| 1632 | goto out; | 1635 | goto out; |
| @@ -1639,7 +1642,7 @@ static int dpcm_fe_dai_prepare(struct snd_pcm_substream *substream) | |||
| 1639 | /* call prepare on the frontend */ | 1642 | /* call prepare on the frontend */ |
| 1640 | ret = soc_pcm_prepare(substream); | 1643 | ret = soc_pcm_prepare(substream); |
| 1641 | if (ret < 0) { | 1644 | if (ret < 0) { |
| 1642 | dev_err(fe->dev,"dpcm: prepare FE %s failed\n", | 1645 | dev_err(fe->dev,"ASoC: prepare FE %s failed\n", |
| 1643 | fe->dai_link->name); | 1646 | fe->dai_link->name); |
| 1644 | goto out; | 1647 | goto out; |
| 1645 | } | 1648 | } |
| @@ -1673,33 +1676,33 @@ static int dpcm_run_update_shutdown(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1673 | enum snd_soc_dpcm_trigger trigger = fe->dai_link->trigger[stream]; | 1676 | enum snd_soc_dpcm_trigger trigger = fe->dai_link->trigger[stream]; |
| 1674 | int err; | 1677 | int err; |
| 1675 | 1678 | ||
| 1676 | dev_dbg(fe->dev, "runtime %s close on FE %s\n", | 1679 | dev_dbg(fe->dev, "ASoC: runtime %s close on FE %s\n", |
| 1677 | stream ? "capture" : "playback", fe->dai_link->name); | 1680 | stream ? "capture" : "playback", fe->dai_link->name); |
| 1678 | 1681 | ||
| 1679 | if (trigger == SND_SOC_DPCM_TRIGGER_BESPOKE) { | 1682 | if (trigger == SND_SOC_DPCM_TRIGGER_BESPOKE) { |
| 1680 | /* call bespoke trigger - FE takes care of all BE triggers */ | 1683 | /* call bespoke trigger - FE takes care of all BE triggers */ |
| 1681 | dev_dbg(fe->dev, "dpcm: bespoke trigger FE %s cmd stop\n", | 1684 | dev_dbg(fe->dev, "ASoC: bespoke trigger FE %s cmd stop\n", |
| 1682 | fe->dai_link->name); | 1685 | fe->dai_link->name); |
| 1683 | 1686 | ||
| 1684 | err = soc_pcm_bespoke_trigger(substream, SNDRV_PCM_TRIGGER_STOP); | 1687 | err = soc_pcm_bespoke_trigger(substream, SNDRV_PCM_TRIGGER_STOP); |
| 1685 | if (err < 0) | 1688 | if (err < 0) |
| 1686 | dev_err(fe->dev,"dpcm: trigger FE failed %d\n", err); | 1689 | dev_err(fe->dev,"ASoC: trigger FE failed %d\n", err); |
| 1687 | } else { | 1690 | } else { |
| 1688 | dev_dbg(fe->dev, "dpcm: trigger FE %s cmd stop\n", | 1691 | dev_dbg(fe->dev, "ASoC: trigger FE %s cmd stop\n", |
| 1689 | fe->dai_link->name); | 1692 | fe->dai_link->name); |
| 1690 | 1693 | ||
| 1691 | err = dpcm_be_dai_trigger(fe, stream, SNDRV_PCM_TRIGGER_STOP); | 1694 | err = dpcm_be_dai_trigger(fe, stream, SNDRV_PCM_TRIGGER_STOP); |
| 1692 | if (err < 0) | 1695 | if (err < 0) |
| 1693 | dev_err(fe->dev,"dpcm: trigger FE failed %d\n", err); | 1696 | dev_err(fe->dev,"ASoC: trigger FE failed %d\n", err); |
| 1694 | } | 1697 | } |
| 1695 | 1698 | ||
| 1696 | err = dpcm_be_dai_hw_free(fe, stream); | 1699 | err = dpcm_be_dai_hw_free(fe, stream); |
| 1697 | if (err < 0) | 1700 | if (err < 0) |
| 1698 | dev_err(fe->dev,"dpcm: hw_free FE failed %d\n", err); | 1701 | dev_err(fe->dev,"ASoC: hw_free FE failed %d\n", err); |
| 1699 | 1702 | ||
| 1700 | err = dpcm_be_dai_shutdown(fe, stream); | 1703 | err = dpcm_be_dai_shutdown(fe, stream); |
| 1701 | if (err < 0) | 1704 | if (err < 0) |
| 1702 | dev_err(fe->dev,"dpcm: shutdown FE failed %d\n", err); | 1705 | dev_err(fe->dev,"ASoC: shutdown FE failed %d\n", err); |
| 1703 | 1706 | ||
| 1704 | /* run the stream event for each BE */ | 1707 | /* run the stream event for each BE */ |
| 1705 | dpcm_dapm_stream_event(fe, stream, SND_SOC_DAPM_STREAM_NOP); | 1708 | dpcm_dapm_stream_event(fe, stream, SND_SOC_DAPM_STREAM_NOP); |
| @@ -1715,7 +1718,7 @@ static int dpcm_run_update_startup(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1715 | enum snd_soc_dpcm_trigger trigger = fe->dai_link->trigger[stream]; | 1718 | enum snd_soc_dpcm_trigger trigger = fe->dai_link->trigger[stream]; |
| 1716 | int ret; | 1719 | int ret; |
| 1717 | 1720 | ||
| 1718 | dev_dbg(fe->dev, "runtime %s open on FE %s\n", | 1721 | dev_dbg(fe->dev, "ASoC: runtime %s open on FE %s\n", |
| 1719 | stream ? "capture" : "playback", fe->dai_link->name); | 1722 | stream ? "capture" : "playback", fe->dai_link->name); |
| 1720 | 1723 | ||
| 1721 | /* Only start the BE if the FE is ready */ | 1724 | /* Only start the BE if the FE is ready */ |
| @@ -1761,22 +1764,22 @@ static int dpcm_run_update_startup(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1761 | 1764 | ||
| 1762 | if (trigger == SND_SOC_DPCM_TRIGGER_BESPOKE) { | 1765 | if (trigger == SND_SOC_DPCM_TRIGGER_BESPOKE) { |
| 1763 | /* call trigger on the frontend - FE takes care of all BE triggers */ | 1766 | /* call trigger on the frontend - FE takes care of all BE triggers */ |
| 1764 | dev_dbg(fe->dev, "dpcm: bespoke trigger FE %s cmd start\n", | 1767 | dev_dbg(fe->dev, "ASoC: bespoke trigger FE %s cmd start\n", |
| 1765 | fe->dai_link->name); | 1768 | fe->dai_link->name); |
| 1766 | 1769 | ||
| 1767 | ret = soc_pcm_bespoke_trigger(substream, SNDRV_PCM_TRIGGER_START); | 1770 | ret = soc_pcm_bespoke_trigger(substream, SNDRV_PCM_TRIGGER_START); |
| 1768 | if (ret < 0) { | 1771 | if (ret < 0) { |
| 1769 | dev_err(fe->dev,"dpcm: bespoke trigger FE failed %d\n", ret); | 1772 | dev_err(fe->dev,"ASoC: bespoke trigger FE failed %d\n", ret); |
| 1770 | goto hw_free; | 1773 | goto hw_free; |
| 1771 | } | 1774 | } |
| 1772 | } else { | 1775 | } else { |
| 1773 | dev_dbg(fe->dev, "dpcm: trigger FE %s cmd start\n", | 1776 | dev_dbg(fe->dev, "ASoC: trigger FE %s cmd start\n", |
| 1774 | fe->dai_link->name); | 1777 | fe->dai_link->name); |
| 1775 | 1778 | ||
| 1776 | ret = dpcm_be_dai_trigger(fe, stream, | 1779 | ret = dpcm_be_dai_trigger(fe, stream, |
| 1777 | SNDRV_PCM_TRIGGER_START); | 1780 | SNDRV_PCM_TRIGGER_START); |
| 1778 | if (ret < 0) { | 1781 | if (ret < 0) { |
| 1779 | dev_err(fe->dev,"dpcm: trigger FE failed %d\n", ret); | 1782 | dev_err(fe->dev,"ASoC: trigger FE failed %d\n", ret); |
| 1780 | goto hw_free; | 1783 | goto hw_free; |
| 1781 | } | 1784 | } |
| 1782 | } | 1785 | } |
| @@ -1805,7 +1808,7 @@ static int dpcm_run_new_update(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1805 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_BE; | 1808 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_BE; |
| 1806 | ret = dpcm_run_update_startup(fe, stream); | 1809 | ret = dpcm_run_update_startup(fe, stream); |
| 1807 | if (ret < 0) | 1810 | if (ret < 0) |
| 1808 | dev_err(fe->dev, "failed to startup some BEs\n"); | 1811 | dev_err(fe->dev, "ASoC: failed to startup some BEs\n"); |
| 1809 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_NO; | 1812 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_NO; |
| 1810 | 1813 | ||
| 1811 | return ret; | 1814 | return ret; |
| @@ -1818,7 +1821,7 @@ static int dpcm_run_old_update(struct snd_soc_pcm_runtime *fe, int stream) | |||
| 1818 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_BE; | 1821 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_BE; |
| 1819 | ret = dpcm_run_update_shutdown(fe, stream); | 1822 | ret = dpcm_run_update_shutdown(fe, stream); |
| 1820 | if (ret < 0) | 1823 | if (ret < 0) |
| 1821 | dev_err(fe->dev, "failed to shutdown some BEs\n"); | 1824 | dev_err(fe->dev, "ASoC: failed to shutdown some BEs\n"); |
| 1822 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_NO; | 1825 | fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_NO; |
| 1823 | 1826 | ||
| 1824 | return ret; | 1827 | return ret; |
| @@ -1853,7 +1856,7 @@ int soc_dpcm_runtime_update(struct snd_soc_dapm_widget *widget) | |||
| 1853 | continue; | 1856 | continue; |
| 1854 | 1857 | ||
| 1855 | /* DAPM sync will call this to update DSP paths */ | 1858 | /* DAPM sync will call this to update DSP paths */ |
| 1856 | dev_dbg(fe->dev, "DPCM runtime update for FE %s\n", | 1859 | dev_dbg(fe->dev, "ASoC: DPCM runtime update for FE %s\n", |
| 1857 | fe->dai_link->name); | 1860 | fe->dai_link->name); |
| 1858 | 1861 | ||
| 1859 | /* skip if FE doesn't have playback capability */ | 1862 | /* skip if FE doesn't have playback capability */ |
| @@ -1862,7 +1865,7 @@ int soc_dpcm_runtime_update(struct snd_soc_dapm_widget *widget) | |||
| 1862 | 1865 | ||
| 1863 | paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_PLAYBACK, &list); | 1866 | paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_PLAYBACK, &list); |
| 1864 | if (paths < 0) { | 1867 | if (paths < 0) { |
| 1865 | dev_warn(fe->dev, "%s no valid %s path\n", | 1868 | dev_warn(fe->dev, "ASoC: %s no valid %s path\n", |
| 1866 | fe->dai_link->name, "playback"); | 1869 | fe->dai_link->name, "playback"); |
| 1867 | mutex_unlock(&card->mutex); | 1870 | mutex_unlock(&card->mutex); |
| 1868 | return paths; | 1871 | return paths; |
| @@ -1891,7 +1894,7 @@ capture: | |||
| 1891 | 1894 | ||
| 1892 | paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_CAPTURE, &list); | 1895 | paths = dpcm_path_get(fe, SNDRV_PCM_STREAM_CAPTURE, &list); |
| 1893 | if (paths < 0) { | 1896 | if (paths < 0) { |
| 1894 | dev_warn(fe->dev, "%s no valid %s path\n", | 1897 | dev_warn(fe->dev, "ASoC: %s no valid %s path\n", |
| 1895 | fe->dai_link->name, "capture"); | 1898 | fe->dai_link->name, "capture"); |
| 1896 | mutex_unlock(&card->mutex); | 1899 | mutex_unlock(&card->mutex); |
| 1897 | return paths; | 1900 | return paths; |
| @@ -1934,7 +1937,7 @@ int soc_dpcm_be_digital_mute(struct snd_soc_pcm_runtime *fe, int mute) | |||
| 1934 | if (be->dai_link->ignore_suspend) | 1937 | if (be->dai_link->ignore_suspend) |
| 1935 | continue; | 1938 | continue; |
| 1936 | 1939 | ||
| 1937 | dev_dbg(be->dev, "BE digital mute %s\n", be->dai_link->name); | 1940 | dev_dbg(be->dev, "ASoC: BE digital mute %s\n", be->dai_link->name); |
| 1938 | 1941 | ||
| 1939 | if (drv->ops->digital_mute && dai->playback_active) | 1942 | if (drv->ops->digital_mute && dai->playback_active) |
| 1940 | drv->ops->digital_mute(dai, mute); | 1943 | drv->ops->digital_mute(dai, mute); |
| @@ -1955,7 +1958,7 @@ static int dpcm_fe_dai_open(struct snd_pcm_substream *fe_substream) | |||
| 1955 | fe->dpcm[stream].runtime = fe_substream->runtime; | 1958 | fe->dpcm[stream].runtime = fe_substream->runtime; |
| 1956 | 1959 | ||
| 1957 | if (dpcm_path_get(fe, stream, &list) <= 0) { | 1960 | if (dpcm_path_get(fe, stream, &list) <= 0) { |
| 1958 | dev_dbg(fe->dev, "asoc: %s no valid %s route\n", | 1961 | dev_dbg(fe->dev, "ASoC: %s no valid %s route\n", |
| 1959 | fe->dai_link->name, stream ? "capture" : "playback"); | 1962 | fe->dai_link->name, stream ? "capture" : "playback"); |
| 1960 | } | 1963 | } |
| 1961 | 1964 | ||
| @@ -2039,11 +2042,11 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) | |||
| 2039 | capture, &pcm); | 2042 | capture, &pcm); |
| 2040 | } | 2043 | } |
| 2041 | if (ret < 0) { | 2044 | if (ret < 0) { |
| 2042 | dev_err(rtd->card->dev, "can't create pcm for %s\n", | 2045 | dev_err(rtd->card->dev, "ASoC: can't create pcm for %s\n", |
| 2043 | rtd->dai_link->name); | 2046 | rtd->dai_link->name); |
| 2044 | return ret; | 2047 | return ret; |
| 2045 | } | 2048 | } |
| 2046 | dev_dbg(rtd->card->dev, "registered pcm #%d %s\n",num, new_name); | 2049 | dev_dbg(rtd->card->dev, "ASoC: registered pcm #%d %s\n",num, new_name); |
| 2047 | 2050 | ||
| 2048 | /* DAPM dai link stream work */ | 2051 | /* DAPM dai link stream work */ |
| 2049 | INIT_DELAYED_WORK(&rtd->delayed_work, close_delayed_work); | 2052 | INIT_DELAYED_WORK(&rtd->delayed_work, close_delayed_work); |
| @@ -2097,7 +2100,9 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) | |||
| 2097 | if (platform->driver->pcm_new) { | 2100 | if (platform->driver->pcm_new) { |
| 2098 | ret = platform->driver->pcm_new(rtd); | 2101 | ret = platform->driver->pcm_new(rtd); |
| 2099 | if (ret < 0) { | 2102 | if (ret < 0) { |
| 2100 | dev_err(platform->dev, "pcm constructor failed\n"); | 2103 | dev_err(platform->dev, |
| 2104 | "ASoC: pcm constructor failed: %d\n", | ||
| 2105 | ret); | ||
| 2101 | return ret; | 2106 | return ret; |
| 2102 | } | 2107 | } |
| 2103 | } | 2108 | } |
