From: Mark Brown Date: Mon, 9 Apr 2012 10:56:23 +0000 (+0100) Subject: Merge branch 'for-3.5' into asoc-next X-Git-Tag: next-20120411~38^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=34fa4ded772b69a29f8c7c9ceb5dde41593b57ad;p=karo-tx-linux.git Merge branch 'for-3.5' into asoc-next Conflicts: sound/soc/soc-core.c sound/soc/tegra/tegra20_i2s.c --- 34fa4ded772b69a29f8c7c9ceb5dde41593b57ad diff --cc sound/soc/codecs/sgtl5000.c index 8e92fb88ed09,9538d41c1e5c..8005fe6db66f --- a/sound/soc/codecs/sgtl5000.c +++ b/sound/soc/codecs/sgtl5000.c @@@ -197,12 -197,16 +197,12 @@@ static const struct snd_soc_dapm_widge SND_SOC_DAPM_OUTPUT("HP_OUT"), SND_SOC_DAPM_OUTPUT("LINE_OUT"), - SND_SOC_DAPM_MICBIAS_E("Mic Bias", SGTL5000_CHIP_MIC_CTRL, 8, 0, - mic_bias_event, - SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), + SND_SOC_DAPM_SUPPLY("Mic Bias", SGTL5000_CHIP_MIC_CTRL, 8, 0, + mic_bias_event, + SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), - SND_SOC_DAPM_PGA_E("HP", SGTL5000_CHIP_ANA_POWER, 4, 0, NULL, 0, - small_pop_event, - SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_PRE_PMD), - SND_SOC_DAPM_PGA_E("LO", SGTL5000_CHIP_ANA_POWER, 0, 0, NULL, 0, - small_pop_event, - SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_PRE_PMD), + SND_SOC_DAPM_PGA("HP", SGTL5000_CHIP_ANA_POWER, 4, 0, NULL, 0), + SND_SOC_DAPM_PGA("LO", SGTL5000_CHIP_ANA_POWER, 0, 0, NULL, 0), SND_SOC_DAPM_MUX("Capture Mux", SND_SOC_NOPM, 0, 0, &adc_mux), SND_SOC_DAPM_MUX("Headphone Mux", SND_SOC_NOPM, 0, 0, &dac_mux), diff --cc sound/soc/soc-core.c index accdcb7d4d9d,8a17048dba42..63e6114edd8a --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@@ -1081,8 -1064,14 +1064,16 @@@ static int soc_probe_platform(struct sn snd_soc_dapm_new_controls(&platform->dapm, driver->dapm_widgets, driver->num_dapm_widgets); + /* Create DAPM widgets for each DAI stream */ + list_for_each_entry(dai, &dai_list, list) { + if (dai->dev != platform->dev) + continue; + + snd_soc_dapm_new_dai_widgets(&platform->dapm, dai); + } + + platform->dapm.idle_bias_off = 1; + if (driver->probe) { ret = driver->probe(platform); if (ret < 0) { diff --cc sound/soc/tegra/tegra20_i2s.c index e53349912b2e,9427f36e6a25..44f8a0cffd5e --- a/sound/soc/tegra/tegra20_i2s.c +++ b/sound/soc/tegra/tegra20_i2s.c @@@ -76,13 -75,11 +75,13 @@@ static int tegra20_i2s_show(struct seq_ }; #undef REG - struct tegra_i2s *i2s = s->private; + struct tegra20_i2s *i2s = s->private; int i; + clk_enable(i2s->clk_i2s); + for (i = 0; i < ARRAY_SIZE(regs); i++) { - u32 val = tegra_i2s_read(i2s, regs[i].offset); + u32 val = tegra20_i2s_read(i2s, regs[i].offset); seq_printf(s, "%s = %08x\n", regs[i].name, val); } @@@ -116,7 -111,7 +115,7 @@@ static void tegra20_i2s_debug_remove(st debugfs_remove(i2s->debug); } #else - static inline void tegra_i2s_debug_add(struct tegra_i2s *i2s) -static inline void tegra20_i2s_debug_add(struct tegra20_i2s *i2s, int id) ++static inline void tegra20_i2s_debug_add(struct tegra_i2s *i2s) { } diff --cc sound/soc/tegra/tegra20_spdif.c index 9ff2c601445f,ef5d49ed5658..c567757e779a --- a/sound/soc/tegra/tegra20_spdif.c +++ b/sound/soc/tegra/tegra20_spdif.c @@@ -76,13 -75,11 +75,13 @@@ static int tegra20_spdif_show(struct se }; #undef REG - struct tegra_spdif *spdif = s->private; + struct tegra20_spdif *spdif = s->private; int i; + clk_enable(spdif->clk_spdif_out); + for (i = 0; i < ARRAY_SIZE(regs); i++) { - u32 val = tegra_spdif_read(spdif, regs[i].offset); + u32 val = tegra20_spdif_read(spdif, regs[i].offset); seq_printf(s, "%s = %08x\n", regs[i].name, val); }