diff options
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r-- | sound/soc/soc-core.c | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index c5cb9516fea4..43f4060dbe75 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -134,7 +134,7 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
134 | 134 | ||
135 | /* startup the audio subsystem */ | 135 | /* startup the audio subsystem */ |
136 | if (cpu_dai->ops.startup) { | 136 | if (cpu_dai->ops.startup) { |
137 | ret = cpu_dai->ops.startup(substream); | 137 | ret = cpu_dai->ops.startup(substream, cpu_dai); |
138 | if (ret < 0) { | 138 | if (ret < 0) { |
139 | printk(KERN_ERR "asoc: can't open interface %s\n", | 139 | printk(KERN_ERR "asoc: can't open interface %s\n", |
140 | cpu_dai->name); | 140 | cpu_dai->name); |
@@ -151,7 +151,7 @@ static int soc_pcm_open(struct snd_pcm_substream *substream) | |||
151 | } | 151 | } |
152 | 152 | ||
153 | if (codec_dai->ops.startup) { | 153 | if (codec_dai->ops.startup) { |
154 | ret = codec_dai->ops.startup(substream); | 154 | ret = codec_dai->ops.startup(substream, codec_dai); |
155 | if (ret < 0) { | 155 | if (ret < 0) { |
156 | printk(KERN_ERR "asoc: can't open codec %s\n", | 156 | printk(KERN_ERR "asoc: can't open codec %s\n", |
157 | codec_dai->name); | 157 | codec_dai->name); |
@@ -248,7 +248,7 @@ codec_dai_err: | |||
248 | 248 | ||
249 | platform_err: | 249 | platform_err: |
250 | if (cpu_dai->ops.shutdown) | 250 | if (cpu_dai->ops.shutdown) |
251 | cpu_dai->ops.shutdown(substream); | 251 | cpu_dai->ops.shutdown(substream, cpu_dai); |
252 | out: | 252 | out: |
253 | mutex_unlock(&pcm_mutex); | 253 | mutex_unlock(&pcm_mutex); |
254 | return ret; | 254 | return ret; |
@@ -339,10 +339,10 @@ static int soc_codec_close(struct snd_pcm_substream *substream) | |||
339 | snd_soc_dai_digital_mute(codec_dai, 1); | 339 | snd_soc_dai_digital_mute(codec_dai, 1); |
340 | 340 | ||
341 | if (cpu_dai->ops.shutdown) | 341 | if (cpu_dai->ops.shutdown) |
342 | cpu_dai->ops.shutdown(substream); | 342 | cpu_dai->ops.shutdown(substream, cpu_dai); |
343 | 343 | ||
344 | if (codec_dai->ops.shutdown) | 344 | if (codec_dai->ops.shutdown) |
345 | codec_dai->ops.shutdown(substream); | 345 | codec_dai->ops.shutdown(substream, codec_dai); |
346 | 346 | ||
347 | if (machine->ops && machine->ops->shutdown) | 347 | if (machine->ops && machine->ops->shutdown) |
348 | machine->ops->shutdown(substream); | 348 | machine->ops->shutdown(substream); |
@@ -406,7 +406,7 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream) | |||
406 | } | 406 | } |
407 | 407 | ||
408 | if (codec_dai->ops.prepare) { | 408 | if (codec_dai->ops.prepare) { |
409 | ret = codec_dai->ops.prepare(substream); | 409 | ret = codec_dai->ops.prepare(substream, codec_dai); |
410 | if (ret < 0) { | 410 | if (ret < 0) { |
411 | printk(KERN_ERR "asoc: codec DAI prepare error\n"); | 411 | printk(KERN_ERR "asoc: codec DAI prepare error\n"); |
412 | goto out; | 412 | goto out; |
@@ -414,7 +414,7 @@ static int soc_pcm_prepare(struct snd_pcm_substream *substream) | |||
414 | } | 414 | } |
415 | 415 | ||
416 | if (cpu_dai->ops.prepare) { | 416 | if (cpu_dai->ops.prepare) { |
417 | ret = cpu_dai->ops.prepare(substream); | 417 | ret = cpu_dai->ops.prepare(substream, cpu_dai); |
418 | if (ret < 0) { | 418 | if (ret < 0) { |
419 | printk(KERN_ERR "asoc: cpu DAI prepare error\n"); | 419 | printk(KERN_ERR "asoc: cpu DAI prepare error\n"); |
420 | goto out; | 420 | goto out; |
@@ -491,7 +491,7 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream, | |||
491 | } | 491 | } |
492 | 492 | ||
493 | if (codec_dai->ops.hw_params) { | 493 | if (codec_dai->ops.hw_params) { |
494 | ret = codec_dai->ops.hw_params(substream, params); | 494 | ret = codec_dai->ops.hw_params(substream, params, codec_dai); |
495 | if (ret < 0) { | 495 | if (ret < 0) { |
496 | printk(KERN_ERR "asoc: can't set codec %s hw params\n", | 496 | printk(KERN_ERR "asoc: can't set codec %s hw params\n", |
497 | codec_dai->name); | 497 | codec_dai->name); |
@@ -500,7 +500,7 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream, | |||
500 | } | 500 | } |
501 | 501 | ||
502 | if (cpu_dai->ops.hw_params) { | 502 | if (cpu_dai->ops.hw_params) { |
503 | ret = cpu_dai->ops.hw_params(substream, params); | 503 | ret = cpu_dai->ops.hw_params(substream, params, cpu_dai); |
504 | if (ret < 0) { | 504 | if (ret < 0) { |
505 | printk(KERN_ERR "asoc: interface %s hw params failed\n", | 505 | printk(KERN_ERR "asoc: interface %s hw params failed\n", |
506 | cpu_dai->name); | 506 | cpu_dai->name); |
@@ -523,11 +523,11 @@ out: | |||
523 | 523 | ||
524 | platform_err: | 524 | platform_err: |
525 | if (cpu_dai->ops.hw_free) | 525 | if (cpu_dai->ops.hw_free) |
526 | cpu_dai->ops.hw_free(substream); | 526 | cpu_dai->ops.hw_free(substream, cpu_dai); |
527 | 527 | ||
528 | interface_err: | 528 | interface_err: |
529 | if (codec_dai->ops.hw_free) | 529 | if (codec_dai->ops.hw_free) |
530 | codec_dai->ops.hw_free(substream); | 530 | codec_dai->ops.hw_free(substream, codec_dai); |
531 | 531 | ||
532 | codec_err: | 532 | codec_err: |
533 | if (machine->ops && machine->ops->hw_free) | 533 | if (machine->ops && machine->ops->hw_free) |
@@ -566,10 +566,10 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream) | |||
566 | 566 | ||
567 | /* now free hw params for the DAI's */ | 567 | /* now free hw params for the DAI's */ |
568 | if (codec_dai->ops.hw_free) | 568 | if (codec_dai->ops.hw_free) |
569 | codec_dai->ops.hw_free(substream); | 569 | codec_dai->ops.hw_free(substream, codec_dai); |
570 | 570 | ||
571 | if (cpu_dai->ops.hw_free) | 571 | if (cpu_dai->ops.hw_free) |
572 | cpu_dai->ops.hw_free(substream); | 572 | cpu_dai->ops.hw_free(substream, cpu_dai); |
573 | 573 | ||
574 | mutex_unlock(&pcm_mutex); | 574 | mutex_unlock(&pcm_mutex); |
575 | return 0; | 575 | return 0; |
@@ -586,7 +586,7 @@ static int soc_pcm_trigger(struct snd_pcm_substream *substream, int cmd) | |||
586 | int ret; | 586 | int ret; |
587 | 587 | ||
588 | if (codec_dai->ops.trigger) { | 588 | if (codec_dai->ops.trigger) { |
589 | ret = codec_dai->ops.trigger(substream, cmd); | 589 | ret = codec_dai->ops.trigger(substream, cmd, codec_dai); |
590 | if (ret < 0) | 590 | if (ret < 0) |
591 | return ret; | 591 | return ret; |
592 | } | 592 | } |
@@ -598,7 +598,7 @@ static int soc_pcm_trigger(struct snd_pcm_substream *substream, int cmd) | |||
598 | } | 598 | } |
599 | 599 | ||
600 | if (cpu_dai->ops.trigger) { | 600 | if (cpu_dai->ops.trigger) { |
601 | ret = cpu_dai->ops.trigger(substream, cmd); | 601 | ret = cpu_dai->ops.trigger(substream, cmd, cpu_dai); |
602 | if (ret < 0) | 602 | if (ret < 0) |
603 | return ret; | 603 | return ret; |
604 | } | 604 | } |
@@ -637,10 +637,10 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state) | |||
637 | snd_power_change_state(codec->card, SNDRV_CTL_POWER_D3hot); | 637 | snd_power_change_state(codec->card, SNDRV_CTL_POWER_D3hot); |
638 | 638 | ||
639 | /* mute any active DAC's */ | 639 | /* mute any active DAC's */ |
640 | for (i = 0; i < machine->num_links; i++) { | 640 | for (i = 0; i < card->num_links; i++) { |
641 | struct snd_soc_dai *dai = machine->dai_link[i].codec_dai; | 641 | struct snd_soc_dai *dai = card->dai_link[i].codec_dai; |
642 | if (dai->dai_ops.digital_mute && dai->playback.active) | 642 | if (dai->ops.digital_mute && dai->playback.active) |
643 | dai->dai_ops.digital_mute(dai, 1); | 643 | dai->ops.digital_mute(dai, 1); |
644 | } | 644 | } |
645 | 645 | ||
646 | /* suspend all pcms */ | 646 | /* suspend all pcms */ |
@@ -733,10 +733,10 @@ static void soc_resume_deferred(struct work_struct *work) | |||
733 | } | 733 | } |
734 | 734 | ||
735 | /* unmute any active DACs */ | 735 | /* unmute any active DACs */ |
736 | for (i = 0; i < machine->num_links; i++) { | 736 | for (i = 0; i < card->num_links; i++) { |
737 | struct snd_soc_dai *dai = machine->dai_link[i].codec_dai; | 737 | struct snd_soc_dai *dai = card->dai_link[i].codec_dai; |
738 | if (dai->dai_ops.digital_mute && dai->playback.active) | 738 | if (dai->ops.digital_mute && dai->playback.active) |
739 | dai->dai_ops.digital_mute(dai, 0); | 739 | dai->ops.digital_mute(dai, 0); |
740 | } | 740 | } |
741 | 741 | ||
742 | for (i = 0; i < card->num_links; i++) { | 742 | for (i = 0; i < card->num_links; i++) { |
@@ -1849,8 +1849,8 @@ EXPORT_SYMBOL_GPL(snd_soc_put_volsw_s8); | |||
1849 | int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, | 1849 | int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id, |
1850 | unsigned int freq, int dir) | 1850 | unsigned int freq, int dir) |
1851 | { | 1851 | { |
1852 | if (dai->dai_ops.set_sysclk) | 1852 | if (dai->ops.set_sysclk) |
1853 | return dai->dai_ops.set_sysclk(dai, clk_id, freq, dir); | 1853 | return dai->ops.set_sysclk(dai, clk_id, freq, dir); |
1854 | else | 1854 | else |
1855 | return -EINVAL; | 1855 | return -EINVAL; |
1856 | } | 1856 | } |
@@ -1869,8 +1869,8 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_set_sysclk); | |||
1869 | int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, | 1869 | int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai, |
1870 | int div_id, int div) | 1870 | int div_id, int div) |
1871 | { | 1871 | { |
1872 | if (dai->dai_ops.set_clkdiv) | 1872 | if (dai->ops.set_clkdiv) |
1873 | return dai->dai_ops.set_clkdiv(dai, div_id, div); | 1873 | return dai->ops.set_clkdiv(dai, div_id, div); |
1874 | else | 1874 | else |
1875 | return -EINVAL; | 1875 | return -EINVAL; |
1876 | } | 1876 | } |
@@ -1888,8 +1888,8 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_set_clkdiv); | |||
1888 | int snd_soc_dai_set_pll(struct snd_soc_dai *dai, | 1888 | int snd_soc_dai_set_pll(struct snd_soc_dai *dai, |
1889 | int pll_id, unsigned int freq_in, unsigned int freq_out) | 1889 | int pll_id, unsigned int freq_in, unsigned int freq_out) |
1890 | { | 1890 | { |
1891 | if (dai->dai_ops.set_pll) | 1891 | if (dai->ops.set_pll) |
1892 | return dai->dai_ops.set_pll(dai, pll_id, freq_in, freq_out); | 1892 | return dai->ops.set_pll(dai, pll_id, freq_in, freq_out); |
1893 | else | 1893 | else |
1894 | return -EINVAL; | 1894 | return -EINVAL; |
1895 | } | 1895 | } |
@@ -1905,8 +1905,8 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_set_pll); | |||
1905 | */ | 1905 | */ |
1906 | int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) | 1906 | int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) |
1907 | { | 1907 | { |
1908 | if (dai->dai_ops.set_fmt) | 1908 | if (dai->ops.set_fmt) |
1909 | return dai->dai_ops.set_fmt(dai, fmt); | 1909 | return dai->ops.set_fmt(dai, fmt); |
1910 | else | 1910 | else |
1911 | return -EINVAL; | 1911 | return -EINVAL; |
1912 | } | 1912 | } |
@@ -1924,8 +1924,8 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_set_fmt); | |||
1924 | int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai, | 1924 | int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai, |
1925 | unsigned int mask, int slots) | 1925 | unsigned int mask, int slots) |
1926 | { | 1926 | { |
1927 | if (dai->dai_ops.set_sysclk) | 1927 | if (dai->ops.set_sysclk) |
1928 | return dai->dai_ops.set_tdm_slot(dai, mask, slots); | 1928 | return dai->ops.set_tdm_slot(dai, mask, slots); |
1929 | else | 1929 | else |
1930 | return -EINVAL; | 1930 | return -EINVAL; |
1931 | } | 1931 | } |
@@ -1940,8 +1940,8 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_set_tdm_slot); | |||
1940 | */ | 1940 | */ |
1941 | int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate) | 1941 | int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate) |
1942 | { | 1942 | { |
1943 | if (dai->dai_ops.set_sysclk) | 1943 | if (dai->ops.set_sysclk) |
1944 | return dai->dai_ops.set_tristate(dai, tristate); | 1944 | return dai->ops.set_tristate(dai, tristate); |
1945 | else | 1945 | else |
1946 | return -EINVAL; | 1946 | return -EINVAL; |
1947 | } | 1947 | } |
@@ -1956,8 +1956,8 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_set_tristate); | |||
1956 | */ | 1956 | */ |
1957 | int snd_soc_dai_digital_mute(struct snd_soc_dai *dai, int mute) | 1957 | int snd_soc_dai_digital_mute(struct snd_soc_dai *dai, int mute) |
1958 | { | 1958 | { |
1959 | if (dai->dai_ops.digital_mute) | 1959 | if (dai->ops.digital_mute) |
1960 | return dai->dai_ops.digital_mute(dai, mute); | 1960 | return dai->ops.digital_mute(dai, mute); |
1961 | else | 1961 | else |
1962 | return -EINVAL; | 1962 | return -EINVAL; |
1963 | } | 1963 | } |