Merge branch 'for-3.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into fix/asoc
This commit is contained in:
commit
18361bbe31
|
@ -357,7 +357,7 @@ static int ak4642_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
snd_soc_update_bits(codec, PW_MGMT2, MS, data);
|
snd_soc_update_bits(codec, PW_MGMT2, MS | MCKO | PMPLL, data);
|
||||||
snd_soc_update_bits(codec, MD_CTL1, BCKO_MASK, bcko);
|
snd_soc_update_bits(codec, MD_CTL1, BCKO_MASK, bcko);
|
||||||
|
|
||||||
/* format type */
|
/* format type */
|
||||||
|
|
|
@ -175,6 +175,7 @@ static const struct snd_kcontrol_new wm8731_input_mux_controls =
|
||||||
SOC_DAPM_ENUM("Input Select", wm8731_insel_enum);
|
SOC_DAPM_ENUM("Input Select", wm8731_insel_enum);
|
||||||
|
|
||||||
static const struct snd_soc_dapm_widget wm8731_dapm_widgets[] = {
|
static const struct snd_soc_dapm_widget wm8731_dapm_widgets[] = {
|
||||||
|
SND_SOC_DAPM_SUPPLY("ACTIVE",WM8731_ACTIVE, 0, 0, NULL, 0),
|
||||||
SND_SOC_DAPM_SUPPLY("OSC", WM8731_PWR, 5, 1, NULL, 0),
|
SND_SOC_DAPM_SUPPLY("OSC", WM8731_PWR, 5, 1, NULL, 0),
|
||||||
SND_SOC_DAPM_MIXER("Output Mixer", WM8731_PWR, 4, 1,
|
SND_SOC_DAPM_MIXER("Output Mixer", WM8731_PWR, 4, 1,
|
||||||
&wm8731_output_mixer_controls[0],
|
&wm8731_output_mixer_controls[0],
|
||||||
|
@ -204,6 +205,8 @@ static int wm8731_check_osc(struct snd_soc_dapm_widget *source,
|
||||||
static const struct snd_soc_dapm_route wm8731_intercon[] = {
|
static const struct snd_soc_dapm_route wm8731_intercon[] = {
|
||||||
{"DAC", NULL, "OSC", wm8731_check_osc},
|
{"DAC", NULL, "OSC", wm8731_check_osc},
|
||||||
{"ADC", NULL, "OSC", wm8731_check_osc},
|
{"ADC", NULL, "OSC", wm8731_check_osc},
|
||||||
|
{"DAC", NULL, "ACTIVE"},
|
||||||
|
{"ADC", NULL, "ACTIVE"},
|
||||||
|
|
||||||
/* output mixer */
|
/* output mixer */
|
||||||
{"Output Mixer", "Line Bypass Switch", "Line Input"},
|
{"Output Mixer", "Line Bypass Switch", "Line Input"},
|
||||||
|
@ -315,29 +318,6 @@ static int wm8731_hw_params(struct snd_pcm_substream *substream,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int wm8731_pcm_prepare(struct snd_pcm_substream *substream,
|
|
||||||
struct snd_soc_dai *dai)
|
|
||||||
{
|
|
||||||
struct snd_soc_codec *codec = dai->codec;
|
|
||||||
|
|
||||||
/* set active */
|
|
||||||
snd_soc_write(codec, WM8731_ACTIVE, 0x0001);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void wm8731_shutdown(struct snd_pcm_substream *substream,
|
|
||||||
struct snd_soc_dai *dai)
|
|
||||||
{
|
|
||||||
struct snd_soc_codec *codec = dai->codec;
|
|
||||||
|
|
||||||
/* deactivate */
|
|
||||||
if (!codec->active) {
|
|
||||||
udelay(50);
|
|
||||||
snd_soc_write(codec, WM8731_ACTIVE, 0x0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int wm8731_mute(struct snd_soc_dai *dai, int mute)
|
static int wm8731_mute(struct snd_soc_dai *dai, int mute)
|
||||||
{
|
{
|
||||||
struct snd_soc_codec *codec = dai->codec;
|
struct snd_soc_codec *codec = dai->codec;
|
||||||
|
@ -480,7 +460,6 @@ static int wm8731_set_bias_level(struct snd_soc_codec *codec,
|
||||||
snd_soc_write(codec, WM8731_PWR, reg | 0x0040);
|
snd_soc_write(codec, WM8731_PWR, reg | 0x0040);
|
||||||
break;
|
break;
|
||||||
case SND_SOC_BIAS_OFF:
|
case SND_SOC_BIAS_OFF:
|
||||||
snd_soc_write(codec, WM8731_ACTIVE, 0x0);
|
|
||||||
snd_soc_write(codec, WM8731_PWR, 0xffff);
|
snd_soc_write(codec, WM8731_PWR, 0xffff);
|
||||||
regulator_bulk_disable(ARRAY_SIZE(wm8731->supplies),
|
regulator_bulk_disable(ARRAY_SIZE(wm8731->supplies),
|
||||||
wm8731->supplies);
|
wm8731->supplies);
|
||||||
|
@ -496,9 +475,7 @@ static int wm8731_set_bias_level(struct snd_soc_codec *codec,
|
||||||
SNDRV_PCM_FMTBIT_S24_LE)
|
SNDRV_PCM_FMTBIT_S24_LE)
|
||||||
|
|
||||||
static struct snd_soc_dai_ops wm8731_dai_ops = {
|
static struct snd_soc_dai_ops wm8731_dai_ops = {
|
||||||
.prepare = wm8731_pcm_prepare,
|
|
||||||
.hw_params = wm8731_hw_params,
|
.hw_params = wm8731_hw_params,
|
||||||
.shutdown = wm8731_shutdown,
|
|
||||||
.digital_mute = wm8731_mute,
|
.digital_mute = wm8731_mute,
|
||||||
.set_sysclk = wm8731_set_dai_sysclk,
|
.set_sysclk = wm8731_set_dai_sysclk,
|
||||||
.set_fmt = wm8731_set_dai_fmt,
|
.set_fmt = wm8731_set_dai_fmt,
|
||||||
|
|
Loading…
Reference in New Issue