aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-shmobile/board-armadillo800eva.c4
-rw-r--r--arch/arm/mach-shmobile/board-bockw.c16
-rw-r--r--arch/arm/mach-shmobile/board-kzm9g.c4
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c6
-rw-r--r--arch/sh/boards/mach-ecovec24/setup.c4
-rw-r--r--arch/sh/boards/mach-se/7724/setup.c4
-rw-r--r--sound/soc/codecs/cs42l51.c9
-rw-r--r--sound/soc/codecs/cs42l52.c8
-rw-r--r--sound/soc/codecs/cs42l73.c6
-rw-r--r--sound/soc/sh/fsi.c2
-rw-r--r--sound/soc/sh/rcar/core.c4
-rw-r--r--sound/soc/spear/spdif_out.c10
-rw-r--r--sound/soc/tegra/tegra20_ac97.c2
-rw-r--r--sound/soc/tegra/tegra20_das.c2
-rw-r--r--sound/soc/tegra/tegra20_i2s.c2
-rw-r--r--sound/soc/tegra/tegra20_spdif.c2
-rw-r--r--sound/soc/tegra/tegra30_ahub.c4
-rw-r--r--sound/soc/tegra/tegra30_i2s.c2
18 files changed, 34 insertions, 57 deletions
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index 93533e2710a8..9323854242ca 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -988,14 +988,12 @@ static struct asoc_simple_card_info fsi_wm8978_info = {
988 .card = "FSI2A-WM8978", 988 .card = "FSI2A-WM8978",
989 .codec = "wm8978.0-001a", 989 .codec = "wm8978.0-001a",
990 .platform = "sh_fsi2", 990 .platform = "sh_fsi2",
991 .daifmt = SND_SOC_DAIFMT_I2S, 991 .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM,
992 .cpu_dai = { 992 .cpu_dai = {
993 .name = "fsia-dai", 993 .name = "fsia-dai",
994 .fmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_IB_NF,
995 }, 994 },
996 .codec_dai = { 995 .codec_dai = {
997 .name = "wm8978-hifi", 996 .name = "wm8978-hifi",
998 .fmt = SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_NB_NF,
999 .sysclk = 12288000, 997 .sysclk = 12288000,
1000 }, 998 },
1001}; 999};
diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c
index c475220545f2..74c27d9d6900 100644
--- a/arch/arm/mach-shmobile/board-bockw.c
+++ b/arch/arm/mach-shmobile/board-bockw.c
@@ -429,14 +429,12 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
429 .card = "SSI56-AK4643", 429 .card = "SSI56-AK4643",
430 .codec = "ak4642-codec.0-0012", 430 .codec = "ak4642-codec.0-0012",
431 .platform = "rcar_sound", 431 .platform = "rcar_sound",
432 .daifmt = SND_SOC_DAIFMT_LEFT_J, 432 .daifmt = SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
433 .cpu_dai = { 433 .cpu_dai = {
434 .name = "rsnd-dai.0", 434 .name = "rsnd-dai.0",
435 .fmt = SND_SOC_DAIFMT_CBS_CFS,
436 }, 435 },
437 .codec_dai = { 436 .codec_dai = {
438 .name = "ak4642-hifi", 437 .name = "ak4642-hifi",
439 .fmt = SND_SOC_DAIFMT_CBM_CFM,
440 .sysclk = 11289600, 438 .sysclk = 11289600,
441 }, 439 },
442 }, 440 },
@@ -446,10 +444,9 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
446 .card = "SSI3-AK4554(playback)", 444 .card = "SSI3-AK4554(playback)",
447 .codec = "ak4554-adc-dac.0", 445 .codec = "ak4554-adc-dac.0",
448 .platform = "rcar_sound", 446 .platform = "rcar_sound",
447 .daifmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_RIGHT_J,
449 .cpu_dai = { 448 .cpu_dai = {
450 .name = "rsnd-dai.1", 449 .name = "rsnd-dai.1",
451 .fmt = SND_SOC_DAIFMT_CBM_CFM |
452 SND_SOC_DAIFMT_RIGHT_J,
453 }, 450 },
454 .codec_dai = { 451 .codec_dai = {
455 .name = "ak4554-hifi", 452 .name = "ak4554-hifi",
@@ -461,10 +458,9 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
461 .card = "SSI4-AK4554(capture)", 458 .card = "SSI4-AK4554(capture)",
462 .codec = "ak4554-adc-dac.0", 459 .codec = "ak4554-adc-dac.0",
463 .platform = "rcar_sound", 460 .platform = "rcar_sound",
461 .daifmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_LEFT_J,
464 .cpu_dai = { 462 .cpu_dai = {
465 .name = "rsnd-dai.2", 463 .name = "rsnd-dai.2",
466 .fmt = SND_SOC_DAIFMT_CBM_CFM |
467 SND_SOC_DAIFMT_LEFT_J,
468 }, 464 },
469 .codec_dai = { 465 .codec_dai = {
470 .name = "ak4554-hifi", 466 .name = "ak4554-hifi",
@@ -476,10 +472,9 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
476 .card = "SSI7-AK4554(playback)", 472 .card = "SSI7-AK4554(playback)",
477 .codec = "ak4554-adc-dac.1", 473 .codec = "ak4554-adc-dac.1",
478 .platform = "rcar_sound", 474 .platform = "rcar_sound",
475 .daifmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_RIGHT_J,
479 .cpu_dai = { 476 .cpu_dai = {
480 .name = "rsnd-dai.3", 477 .name = "rsnd-dai.3",
481 .fmt = SND_SOC_DAIFMT_CBM_CFM |
482 SND_SOC_DAIFMT_RIGHT_J,
483 }, 478 },
484 .codec_dai = { 479 .codec_dai = {
485 .name = "ak4554-hifi", 480 .name = "ak4554-hifi",
@@ -491,10 +486,9 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
491 .card = "SSI8-AK4554(capture)", 486 .card = "SSI8-AK4554(capture)",
492 .codec = "ak4554-adc-dac.1", 487 .codec = "ak4554-adc-dac.1",
493 .platform = "rcar_sound", 488 .platform = "rcar_sound",
489 .daifmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_LEFT_J,
494 .cpu_dai = { 490 .cpu_dai = {
495 .name = "rsnd-dai.4", 491 .name = "rsnd-dai.4",
496 .fmt = SND_SOC_DAIFMT_CBM_CFM |
497 SND_SOC_DAIFMT_LEFT_J,
498 }, 492 },
499 .codec_dai = { 493 .codec_dai = {
500 .name = "ak4554-hifi", 494 .name = "ak4554-hifi",
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c
index bc40b853ffd3..03dc3ac84502 100644
--- a/arch/arm/mach-shmobile/board-kzm9g.c
+++ b/arch/arm/mach-shmobile/board-kzm9g.c
@@ -589,14 +589,12 @@ static struct asoc_simple_card_info fsi2_ak4648_info = {
589 .card = "FSI2A-AK4648", 589 .card = "FSI2A-AK4648",
590 .codec = "ak4642-codec.0-0012", 590 .codec = "ak4642-codec.0-0012",
591 .platform = "sh_fsi2", 591 .platform = "sh_fsi2",
592 .daifmt = SND_SOC_DAIFMT_LEFT_J, 592 .daifmt = SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
593 .cpu_dai = { 593 .cpu_dai = {
594 .name = "fsia-dai", 594 .name = "fsia-dai",
595 .fmt = SND_SOC_DAIFMT_CBS_CFS,
596 }, 595 },
597 .codec_dai = { 596 .codec_dai = {
598 .name = "ak4642-hifi", 597 .name = "ak4642-hifi",
599 .fmt = SND_SOC_DAIFMT_CBM_CFM,
600 .sysclk = 11289600, 598 .sysclk = 11289600,
601 }, 599 },
602}; 600};
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index 3aba0372f630..0ff4d8e45cf7 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -509,9 +509,9 @@ static struct asoc_simple_card_info fsi2_hdmi_info = {
509 .card = "FSI2B-HDMI", 509 .card = "FSI2B-HDMI",
510 .codec = "sh-mobile-hdmi", 510 .codec = "sh-mobile-hdmi",
511 .platform = "sh_fsi2", 511 .platform = "sh_fsi2",
512 .daifmt = SND_SOC_DAIFMT_CBS_CFS,
512 .cpu_dai = { 513 .cpu_dai = {
513 .name = "fsib-dai", 514 .name = "fsib-dai",
514 .fmt = SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_IB_NF,
515 }, 515 },
516 .codec_dai = { 516 .codec_dai = {
517 .name = "sh_mobile_hdmi-hifi", 517 .name = "sh_mobile_hdmi-hifi",
@@ -905,14 +905,12 @@ static struct asoc_simple_card_info fsi2_ak4643_info = {
905 .card = "FSI2A-AK4643", 905 .card = "FSI2A-AK4643",
906 .codec = "ak4642-codec.0-0013", 906 .codec = "ak4642-codec.0-0013",
907 .platform = "sh_fsi2", 907 .platform = "sh_fsi2",
908 .daifmt = SND_SOC_DAIFMT_LEFT_J, 908 .daifmt = SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
909 .cpu_dai = { 909 .cpu_dai = {
910 .name = "fsia-dai", 910 .name = "fsia-dai",
911 .fmt = SND_SOC_DAIFMT_CBS_CFS,
912 }, 911 },
913 .codec_dai = { 912 .codec_dai = {
914 .name = "ak4642-hifi", 913 .name = "ak4642-hifi",
915 .fmt = SND_SOC_DAIFMT_CBM_CFM,
916 .sysclk = 11289600, 914 .sysclk = 11289600,
917 }, 915 },
918}; 916};
diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c
index 5bc3a15465c7..85d5255d259f 100644
--- a/arch/sh/boards/mach-ecovec24/setup.c
+++ b/arch/sh/boards/mach-ecovec24/setup.c
@@ -861,14 +861,12 @@ static struct asoc_simple_card_info fsi_da7210_info = {
861 .card = "FSIB-DA7210", 861 .card = "FSIB-DA7210",
862 .codec = "da7210.0-001a", 862 .codec = "da7210.0-001a",
863 .platform = "sh_fsi.0", 863 .platform = "sh_fsi.0",
864 .daifmt = SND_SOC_DAIFMT_I2S, 864 .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM,
865 .cpu_dai = { 865 .cpu_dai = {
866 .name = "fsib-dai", 866 .name = "fsib-dai",
867 .fmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_IB_NF,
868 }, 867 },
869 .codec_dai = { 868 .codec_dai = {
870 .name = "da7210-hifi", 869 .name = "da7210-hifi",
871 .fmt = SND_SOC_DAIFMT_CBM_CFM,
872 }, 870 },
873}; 871};
874 872
diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c
index 21e4230659a5..1162bc6945a3 100644
--- a/arch/sh/boards/mach-se/7724/setup.c
+++ b/arch/sh/boards/mach-se/7724/setup.c
@@ -304,14 +304,12 @@ static struct asoc_simple_card_info fsi_ak4642_info = {
304 .card = "FSIA-AK4642", 304 .card = "FSIA-AK4642",
305 .codec = "ak4642-codec.0-0012", 305 .codec = "ak4642-codec.0-0012",
306 .platform = "sh_fsi.0", 306 .platform = "sh_fsi.0",
307 .daifmt = SND_SOC_DAIFMT_LEFT_J, 307 .daifmt = SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
308 .cpu_dai = { 308 .cpu_dai = {
309 .name = "fsia-dai", 309 .name = "fsia-dai",
310 .fmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_IB_NF,
311 }, 310 },
312 .codec_dai = { 311 .codec_dai = {
313 .name = "ak4642-hifi", 312 .name = "ak4642-hifi",
314 .fmt = SND_SOC_DAIFMT_CBM_CFM,
315 .sysclk = 11289600, 313 .sysclk = 11289600,
316 }, 314 },
317}; 315};
diff --git a/sound/soc/codecs/cs42l51.c b/sound/soc/codecs/cs42l51.c
index 6e9ea8379a91..7a272fa90b39 100644
--- a/sound/soc/codecs/cs42l51.c
+++ b/sound/soc/codecs/cs42l51.c
@@ -124,9 +124,8 @@ static int cs42l51_set_chan_mix(struct snd_kcontrol *kcontrol,
124 124
125static const DECLARE_TLV_DB_SCALE(adc_pcm_tlv, -5150, 50, 0); 125static const DECLARE_TLV_DB_SCALE(adc_pcm_tlv, -5150, 50, 0);
126static const DECLARE_TLV_DB_SCALE(tone_tlv, -1050, 150, 0); 126static const DECLARE_TLV_DB_SCALE(tone_tlv, -1050, 150, 0);
127/* This is a lie. after -102 db, it stays at -102 */ 127
128/* maybe a range would be better */ 128static const DECLARE_TLV_DB_SCALE(aout_tlv, -10200, 50, 0);
129static const DECLARE_TLV_DB_SCALE(aout_tlv, -11550, 50, 0);
130 129
131static const DECLARE_TLV_DB_SCALE(boost_tlv, 1600, 1600, 0); 130static const DECLARE_TLV_DB_SCALE(boost_tlv, 1600, 1600, 0);
132static const char *chan_mix[] = { 131static const char *chan_mix[] = {
@@ -141,7 +140,7 @@ static const struct soc_enum cs42l51_chan_mix =
141static const struct snd_kcontrol_new cs42l51_snd_controls[] = { 140static const struct snd_kcontrol_new cs42l51_snd_controls[] = {
142 SOC_DOUBLE_R_SX_TLV("PCM Playback Volume", 141 SOC_DOUBLE_R_SX_TLV("PCM Playback Volume",
143 CS42L51_PCMA_VOL, CS42L51_PCMB_VOL, 142 CS42L51_PCMA_VOL, CS42L51_PCMB_VOL,
144 6, 0x19, 0x7F, adc_pcm_tlv), 143 0, 0x19, 0x7F, adc_pcm_tlv),
145 SOC_DOUBLE_R("PCM Playback Switch", 144 SOC_DOUBLE_R("PCM Playback Switch",
146 CS42L51_PCMA_VOL, CS42L51_PCMB_VOL, 7, 1, 1), 145 CS42L51_PCMA_VOL, CS42L51_PCMB_VOL, 7, 1, 1),
147 SOC_DOUBLE_R_SX_TLV("Analog Playback Volume", 146 SOC_DOUBLE_R_SX_TLV("Analog Playback Volume",
@@ -149,7 +148,7 @@ static const struct snd_kcontrol_new cs42l51_snd_controls[] = {
149 0, 0x34, 0xE4, aout_tlv), 148 0, 0x34, 0xE4, aout_tlv),
150 SOC_DOUBLE_R_SX_TLV("ADC Mixer Volume", 149 SOC_DOUBLE_R_SX_TLV("ADC Mixer Volume",
151 CS42L51_ADCA_VOL, CS42L51_ADCB_VOL, 150 CS42L51_ADCA_VOL, CS42L51_ADCB_VOL,
152 6, 0x19, 0x7F, adc_pcm_tlv), 151 0, 0x19, 0x7F, adc_pcm_tlv),
153 SOC_DOUBLE_R("ADC Mixer Switch", 152 SOC_DOUBLE_R("ADC Mixer Switch",
154 CS42L51_ADCA_VOL, CS42L51_ADCB_VOL, 7, 1, 1), 153 CS42L51_ADCA_VOL, CS42L51_ADCB_VOL, 7, 1, 1),
155 SOC_SINGLE("Playback Deemphasis Switch", CS42L51_DAC_CTL, 3, 1, 0), 154 SOC_SINGLE("Playback Deemphasis Switch", CS42L51_DAC_CTL, 3, 1, 0),
diff --git a/sound/soc/codecs/cs42l52.c b/sound/soc/codecs/cs42l52.c
index 0bac6d5a4ac8..1102ced9b20e 100644
--- a/sound/soc/codecs/cs42l52.c
+++ b/sound/soc/codecs/cs42l52.c
@@ -347,7 +347,7 @@ static const char * const right_swap_text[] = {
347static const unsigned int swap_values[] = { 0, 1, 3 }; 347static const unsigned int swap_values[] = { 0, 1, 3 };
348 348
349static const struct soc_enum adca_swap_enum = 349static const struct soc_enum adca_swap_enum =
350 SOC_VALUE_ENUM_SINGLE(CS42L52_ADC_PCM_MIXER, 2, 1, 350 SOC_VALUE_ENUM_SINGLE(CS42L52_ADC_PCM_MIXER, 2, 3,
351 ARRAY_SIZE(left_swap_text), 351 ARRAY_SIZE(left_swap_text),
352 left_swap_text, 352 left_swap_text,
353 swap_values); 353 swap_values);
@@ -356,7 +356,7 @@ static const struct snd_kcontrol_new adca_mixer =
356 SOC_DAPM_ENUM("Route", adca_swap_enum); 356 SOC_DAPM_ENUM("Route", adca_swap_enum);
357 357
358static const struct soc_enum pcma_swap_enum = 358static const struct soc_enum pcma_swap_enum =
359 SOC_VALUE_ENUM_SINGLE(CS42L52_ADC_PCM_MIXER, 6, 1, 359 SOC_VALUE_ENUM_SINGLE(CS42L52_ADC_PCM_MIXER, 6, 3,
360 ARRAY_SIZE(left_swap_text), 360 ARRAY_SIZE(left_swap_text),
361 left_swap_text, 361 left_swap_text,
362 swap_values); 362 swap_values);
@@ -365,7 +365,7 @@ static const struct snd_kcontrol_new pcma_mixer =
365 SOC_DAPM_ENUM("Route", pcma_swap_enum); 365 SOC_DAPM_ENUM("Route", pcma_swap_enum);
366 366
367static const struct soc_enum adcb_swap_enum = 367static const struct soc_enum adcb_swap_enum =
368 SOC_VALUE_ENUM_SINGLE(CS42L52_ADC_PCM_MIXER, 0, 1, 368 SOC_VALUE_ENUM_SINGLE(CS42L52_ADC_PCM_MIXER, 0, 3,
369 ARRAY_SIZE(right_swap_text), 369 ARRAY_SIZE(right_swap_text),
370 right_swap_text, 370 right_swap_text,
371 swap_values); 371 swap_values);
@@ -374,7 +374,7 @@ static const struct snd_kcontrol_new adcb_mixer =
374 SOC_DAPM_ENUM("Route", adcb_swap_enum); 374 SOC_DAPM_ENUM("Route", adcb_swap_enum);
375 375
376static const struct soc_enum pcmb_swap_enum = 376static const struct soc_enum pcmb_swap_enum =
377 SOC_VALUE_ENUM_SINGLE(CS42L52_ADC_PCM_MIXER, 4, 1, 377 SOC_VALUE_ENUM_SINGLE(CS42L52_ADC_PCM_MIXER, 4, 3,
378 ARRAY_SIZE(right_swap_text), 378 ARRAY_SIZE(right_swap_text),
379 right_swap_text, 379 right_swap_text,
380 swap_values); 380 swap_values);
diff --git a/sound/soc/codecs/cs42l73.c b/sound/soc/codecs/cs42l73.c
index 549d5d6a3fef..7b95f7cbc515 100644
--- a/sound/soc/codecs/cs42l73.c
+++ b/sound/soc/codecs/cs42l73.c
@@ -319,7 +319,7 @@ static const char * const cs42l73_mono_mix_texts[] = {
319static const unsigned int cs42l73_mono_mix_values[] = { 0, 1, 2 }; 319static const unsigned int cs42l73_mono_mix_values[] = { 0, 1, 2 };
320 320
321static const struct soc_enum spk_asp_enum = 321static const struct soc_enum spk_asp_enum =
322 SOC_VALUE_ENUM_SINGLE(CS42L73_MMIXCTL, 6, 1, 322 SOC_VALUE_ENUM_SINGLE(CS42L73_MMIXCTL, 6, 3,
323 ARRAY_SIZE(cs42l73_mono_mix_texts), 323 ARRAY_SIZE(cs42l73_mono_mix_texts),
324 cs42l73_mono_mix_texts, 324 cs42l73_mono_mix_texts,
325 cs42l73_mono_mix_values); 325 cs42l73_mono_mix_values);
@@ -337,7 +337,7 @@ static const struct snd_kcontrol_new spk_xsp_mixer =
337 SOC_DAPM_ENUM("Route", spk_xsp_enum); 337 SOC_DAPM_ENUM("Route", spk_xsp_enum);
338 338
339static const struct soc_enum esl_asp_enum = 339static const struct soc_enum esl_asp_enum =
340 SOC_VALUE_ENUM_SINGLE(CS42L73_MMIXCTL, 2, 5, 340 SOC_VALUE_ENUM_SINGLE(CS42L73_MMIXCTL, 2, 3,
341 ARRAY_SIZE(cs42l73_mono_mix_texts), 341 ARRAY_SIZE(cs42l73_mono_mix_texts),
342 cs42l73_mono_mix_texts, 342 cs42l73_mono_mix_texts,
343 cs42l73_mono_mix_values); 343 cs42l73_mono_mix_values);
@@ -346,7 +346,7 @@ static const struct snd_kcontrol_new esl_asp_mixer =
346 SOC_DAPM_ENUM("Route", esl_asp_enum); 346 SOC_DAPM_ENUM("Route", esl_asp_enum);
347 347
348static const struct soc_enum esl_xsp_enum = 348static const struct soc_enum esl_xsp_enum =
349 SOC_VALUE_ENUM_SINGLE(CS42L73_MMIXCTL, 0, 7, 349 SOC_VALUE_ENUM_SINGLE(CS42L73_MMIXCTL, 0, 3,
350 ARRAY_SIZE(cs42l73_mono_mix_texts), 350 ARRAY_SIZE(cs42l73_mono_mix_texts),
351 cs42l73_mono_mix_texts, 351 cs42l73_mono_mix_texts,
352 cs42l73_mono_mix_values); 352 cs42l73_mono_mix_values);
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index 1967f44e7cd4..710a079a7377 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -1711,9 +1711,9 @@ static int fsi_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
1711 /* set master/slave audio interface */ 1711 /* set master/slave audio interface */
1712 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { 1712 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
1713 case SND_SOC_DAIFMT_CBM_CFM: 1713 case SND_SOC_DAIFMT_CBM_CFM:
1714 fsi->clk_master = 1;
1715 break; 1714 break;
1716 case SND_SOC_DAIFMT_CBS_CFS: 1715 case SND_SOC_DAIFMT_CBS_CFS:
1716 fsi->clk_master = 1; /* codec is slave, cpu is master */
1717 break; 1717 break;
1718 default: 1718 default:
1719 return -EINVAL; 1719 return -EINVAL;
diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
index 743de5e3b1e1..3a4fe9d0d4f2 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -486,10 +486,10 @@ static int rsnd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
486 /* set master/slave audio interface */ 486 /* set master/slave audio interface */
487 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { 487 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
488 case SND_SOC_DAIFMT_CBM_CFM: 488 case SND_SOC_DAIFMT_CBM_CFM:
489 rdai->clk_master = 1; 489 rdai->clk_master = 0;
490 break; 490 break;
491 case SND_SOC_DAIFMT_CBS_CFS: 491 case SND_SOC_DAIFMT_CBS_CFS:
492 rdai->clk_master = 0; 492 rdai->clk_master = 1; /* codec is slave, cpu is master */
493 break; 493 break;
494 default: 494 default:
495 return -EINVAL; 495 return -EINVAL;
diff --git a/sound/soc/spear/spdif_out.c b/sound/soc/spear/spdif_out.c
index fe99f461aff0..19cca043e6e4 100644
--- a/sound/soc/spear/spdif_out.c
+++ b/sound/soc/spear/spdif_out.c
@@ -213,10 +213,7 @@ static int spdif_digital_mute(struct snd_soc_dai *dai, int mute)
213static int spdif_mute_get(struct snd_kcontrol *kcontrol, 213static int spdif_mute_get(struct snd_kcontrol *kcontrol,
214 struct snd_ctl_elem_value *ucontrol) 214 struct snd_ctl_elem_value *ucontrol)
215{ 215{
216 struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); 216 struct snd_soc_dai *cpu_dai = snd_kcontrol_chip(kcontrol);
217 struct snd_soc_card *card = codec->card;
218 struct snd_soc_pcm_runtime *rtd = card->rtd;
219 struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
220 struct spdif_out_dev *host = snd_soc_dai_get_drvdata(cpu_dai); 217 struct spdif_out_dev *host = snd_soc_dai_get_drvdata(cpu_dai);
221 218
222 ucontrol->value.integer.value[0] = host->saved_params.mute; 219 ucontrol->value.integer.value[0] = host->saved_params.mute;
@@ -226,10 +223,7 @@ static int spdif_mute_get(struct snd_kcontrol *kcontrol,
226static int spdif_mute_put(struct snd_kcontrol *kcontrol, 223static int spdif_mute_put(struct snd_kcontrol *kcontrol,
227 struct snd_ctl_elem_value *ucontrol) 224 struct snd_ctl_elem_value *ucontrol)
228{ 225{
229 struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); 226 struct snd_soc_dai *cpu_dai = snd_kcontrol_chip(kcontrol);
230 struct snd_soc_card *card = codec->card;
231 struct snd_soc_pcm_runtime *rtd = card->rtd;
232 struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
233 struct spdif_out_dev *host = snd_soc_dai_get_drvdata(cpu_dai); 227 struct spdif_out_dev *host = snd_soc_dai_get_drvdata(cpu_dai);
234 228
235 if (host->saved_params.mute == ucontrol->value.integer.value[0]) 229 if (host->saved_params.mute == ucontrol->value.integer.value[0])
diff --git a/sound/soc/tegra/tegra20_ac97.c b/sound/soc/tegra/tegra20_ac97.c
index cf5e1cfe818d..0a59e2383ef3 100644
--- a/sound/soc/tegra/tegra20_ac97.c
+++ b/sound/soc/tegra/tegra20_ac97.c
@@ -306,7 +306,7 @@ static const struct regmap_config tegra20_ac97_regmap_config = {
306 .readable_reg = tegra20_ac97_wr_rd_reg, 306 .readable_reg = tegra20_ac97_wr_rd_reg,
307 .volatile_reg = tegra20_ac97_volatile_reg, 307 .volatile_reg = tegra20_ac97_volatile_reg,
308 .precious_reg = tegra20_ac97_precious_reg, 308 .precious_reg = tegra20_ac97_precious_reg,
309 .cache_type = REGCACHE_RBTREE, 309 .cache_type = REGCACHE_FLAT,
310}; 310};
311 311
312static int tegra20_ac97_platform_probe(struct platform_device *pdev) 312static int tegra20_ac97_platform_probe(struct platform_device *pdev)
diff --git a/sound/soc/tegra/tegra20_das.c b/sound/soc/tegra/tegra20_das.c
index e72392927bd2..a634f13b3ffc 100644
--- a/sound/soc/tegra/tegra20_das.c
+++ b/sound/soc/tegra/tegra20_das.c
@@ -128,7 +128,7 @@ static const struct regmap_config tegra20_das_regmap_config = {
128 .max_register = LAST_REG(DAC_INPUT_DATA_CLK_SEL), 128 .max_register = LAST_REG(DAC_INPUT_DATA_CLK_SEL),
129 .writeable_reg = tegra20_das_wr_rd_reg, 129 .writeable_reg = tegra20_das_wr_rd_reg,
130 .readable_reg = tegra20_das_wr_rd_reg, 130 .readable_reg = tegra20_das_wr_rd_reg,
131 .cache_type = REGCACHE_RBTREE, 131 .cache_type = REGCACHE_FLAT,
132}; 132};
133 133
134static int tegra20_das_probe(struct platform_device *pdev) 134static int tegra20_das_probe(struct platform_device *pdev)
diff --git a/sound/soc/tegra/tegra20_i2s.c b/sound/soc/tegra/tegra20_i2s.c
index 42c1f6bfaf2e..79a9932ffe6e 100644
--- a/sound/soc/tegra/tegra20_i2s.c
+++ b/sound/soc/tegra/tegra20_i2s.c
@@ -333,7 +333,7 @@ static const struct regmap_config tegra20_i2s_regmap_config = {
333 .readable_reg = tegra20_i2s_wr_rd_reg, 333 .readable_reg = tegra20_i2s_wr_rd_reg,
334 .volatile_reg = tegra20_i2s_volatile_reg, 334 .volatile_reg = tegra20_i2s_volatile_reg,
335 .precious_reg = tegra20_i2s_precious_reg, 335 .precious_reg = tegra20_i2s_precious_reg,
336 .cache_type = REGCACHE_RBTREE, 336 .cache_type = REGCACHE_FLAT,
337}; 337};
338 338
339static int tegra20_i2s_platform_probe(struct platform_device *pdev) 339static int tegra20_i2s_platform_probe(struct platform_device *pdev)
diff --git a/sound/soc/tegra/tegra20_spdif.c b/sound/soc/tegra/tegra20_spdif.c
index 8c7c1028e579..a0ce92400faf 100644
--- a/sound/soc/tegra/tegra20_spdif.c
+++ b/sound/soc/tegra/tegra20_spdif.c
@@ -259,7 +259,7 @@ static const struct regmap_config tegra20_spdif_regmap_config = {
259 .readable_reg = tegra20_spdif_wr_rd_reg, 259 .readable_reg = tegra20_spdif_wr_rd_reg,
260 .volatile_reg = tegra20_spdif_volatile_reg, 260 .volatile_reg = tegra20_spdif_volatile_reg,
261 .precious_reg = tegra20_spdif_precious_reg, 261 .precious_reg = tegra20_spdif_precious_reg,
262 .cache_type = REGCACHE_RBTREE, 262 .cache_type = REGCACHE_FLAT,
263}; 263};
264 264
265static int tegra20_spdif_platform_probe(struct platform_device *pdev) 265static int tegra20_spdif_platform_probe(struct platform_device *pdev)
diff --git a/sound/soc/tegra/tegra30_ahub.c b/sound/soc/tegra/tegra30_ahub.c
index d6f4c9940e0c..0db68f49f4d9 100644
--- a/sound/soc/tegra/tegra30_ahub.c
+++ b/sound/soc/tegra/tegra30_ahub.c
@@ -471,7 +471,7 @@ static const struct regmap_config tegra30_ahub_apbif_regmap_config = {
471 .readable_reg = tegra30_ahub_apbif_wr_rd_reg, 471 .readable_reg = tegra30_ahub_apbif_wr_rd_reg,
472 .volatile_reg = tegra30_ahub_apbif_volatile_reg, 472 .volatile_reg = tegra30_ahub_apbif_volatile_reg,
473 .precious_reg = tegra30_ahub_apbif_precious_reg, 473 .precious_reg = tegra30_ahub_apbif_precious_reg,
474 .cache_type = REGCACHE_RBTREE, 474 .cache_type = REGCACHE_FLAT,
475}; 475};
476 476
477static bool tegra30_ahub_ahub_wr_rd_reg(struct device *dev, unsigned int reg) 477static bool tegra30_ahub_ahub_wr_rd_reg(struct device *dev, unsigned int reg)
@@ -490,7 +490,7 @@ static const struct regmap_config tegra30_ahub_ahub_regmap_config = {
490 .max_register = LAST_REG(AUDIO_RX), 490 .max_register = LAST_REG(AUDIO_RX),
491 .writeable_reg = tegra30_ahub_ahub_wr_rd_reg, 491 .writeable_reg = tegra30_ahub_ahub_wr_rd_reg,
492 .readable_reg = tegra30_ahub_ahub_wr_rd_reg, 492 .readable_reg = tegra30_ahub_ahub_wr_rd_reg,
493 .cache_type = REGCACHE_RBTREE, 493 .cache_type = REGCACHE_FLAT,
494}; 494};
495 495
496static struct tegra30_ahub_soc_data soc_data_tegra30 = { 496static struct tegra30_ahub_soc_data soc_data_tegra30 = {
diff --git a/sound/soc/tegra/tegra30_i2s.c b/sound/soc/tegra/tegra30_i2s.c
index 49ad9366add8..f146c41dd3ec 100644
--- a/sound/soc/tegra/tegra30_i2s.c
+++ b/sound/soc/tegra/tegra30_i2s.c
@@ -357,7 +357,7 @@ static const struct regmap_config tegra30_i2s_regmap_config = {
357 .writeable_reg = tegra30_i2s_wr_rd_reg, 357 .writeable_reg = tegra30_i2s_wr_rd_reg,
358 .readable_reg = tegra30_i2s_wr_rd_reg, 358 .readable_reg = tegra30_i2s_wr_rd_reg,
359 .volatile_reg = tegra30_i2s_volatile_reg, 359 .volatile_reg = tegra30_i2s_volatile_reg,
360 .cache_type = REGCACHE_RBTREE, 360 .cache_type = REGCACHE_FLAT,
361}; 361};
362 362
363static const struct tegra30_i2s_soc_data tegra30_i2s_config = { 363static const struct tegra30_i2s_soc_data tegra30_i2s_config = {