Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 230396
b: refs/heads/master
c: 3964687
h: refs/heads/master
v: v3
  • Loading branch information
Peter Ujfalusi authored and Liam Girdwood committed Dec 2, 2010
1 parent 9b3cfac commit 77a532e
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 59 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1bb5ec6a6a0e094c84cc4fa2ba4a6d7cf8e9e8c6
refs/heads/master: 39646871a47fd8808c08de0ce7d7ca8393af2805
69 changes: 11 additions & 58 deletions trunk/sound/soc/codecs/tpa6130a2.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,65 +317,24 @@ static void tpa6130a2_channel_enable(u8 channel, int enable)
}
}

static int tpa6130a2_pga_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
switch (event) {
case SND_SOC_DAPM_POST_PMU:
tpa6130a2_channel_enable(w->shift, 1);
break;
case SND_SOC_DAPM_POST_PMD:
tpa6130a2_channel_enable(w->shift, 0);
break;
}
return 0;
}

static int tpa6130a2_supply_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
int tpa6130a2_stereo_enable(struct snd_soc_codec *codec, int enable)
{
int ret = 0;

switch (event) {
case SND_SOC_DAPM_POST_PMU:
if (enable) {
ret = tpa6130a2_power(1);
break;
case SND_SOC_DAPM_POST_PMD:
if (ret < 0)
return ret;
tpa6130a2_channel_enable(TPA6130A2_HP_EN_R | TPA6130A2_HP_EN_L,
1);
} else {
tpa6130a2_channel_enable(TPA6130A2_HP_EN_R | TPA6130A2_HP_EN_L,
0);
ret = tpa6130a2_power(0);
break;
}

return ret;
}

static const struct snd_soc_dapm_widget tpa6130a2_dapm_widgets[] = {
SND_SOC_DAPM_PGA_E("TPA6130A2 Left", SND_SOC_NOPM,
TPA6130A2_HP_EN_L, 0, NULL, 0, tpa6130a2_pga_event,
SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
SND_SOC_DAPM_PGA_E("TPA6130A2 Right", SND_SOC_NOPM,
TPA6130A2_HP_EN_R, 0, NULL, 0, tpa6130a2_pga_event,
SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
SND_SOC_DAPM_PGA_E("TPA6130A2 Stereo", SND_SOC_NOPM,
TPA6130A2_HP_EN_L | TPA6130A2_HP_EN_R, 0, NULL, 0,
tpa6130a2_pga_event,
SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
SND_SOC_DAPM_SUPPLY("TPA6130A2 Enable", SND_SOC_NOPM,
0, 0, tpa6130a2_supply_event,
SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
/* Outputs */
SND_SOC_DAPM_OUTPUT("TPA6130A2 Headphone Left"),
SND_SOC_DAPM_OUTPUT("TPA6130A2 Headphone Right"),
SND_SOC_DAPM_OUTPUT("TPA6130A2 Headphone Stereo"),
};

static const struct snd_soc_dapm_route audio_map[] = {
{"TPA6130A2 Headphone Left", NULL, "TPA6130A2 Left"},
{"TPA6130A2 Headphone Right", NULL, "TPA6130A2 Right"},
{"TPA6130A2 Headphone Stereo", NULL, "TPA6130A2 Stereo"},

{"TPA6130A2 Headphone Left", NULL, "TPA6130A2 Enable"},
{"TPA6130A2 Headphone Right", NULL, "TPA6130A2 Enable"},
{"TPA6130A2 Headphone Stereo", NULL, "TPA6130A2 Enable"},
};
EXPORT_SYMBOL_GPL(tpa6130a2_stereo_enable);

int tpa6130a2_add_controls(struct snd_soc_codec *codec)
{
Expand All @@ -387,18 +346,12 @@ int tpa6130a2_add_controls(struct snd_soc_codec *codec)

data = i2c_get_clientdata(tpa6130a2_client);

snd_soc_dapm_new_controls(dapm, tpa6130a2_dapm_widgets,
ARRAY_SIZE(tpa6130a2_dapm_widgets));

snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));

if (data->id == TPA6140A2)
return snd_soc_add_controls(codec, tpa6140a2_controls,
ARRAY_SIZE(tpa6140a2_controls));
else
return snd_soc_add_controls(codec, tpa6130a2_controls,
ARRAY_SIZE(tpa6130a2_controls));

}
EXPORT_SYMBOL_GPL(tpa6130a2_add_controls);

Expand Down
1 change: 1 addition & 0 deletions trunk/sound/soc/codecs/tpa6130a2.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,6 @@
#define TPA6130A2_VERSION_MASK (0x0f)

extern int tpa6130a2_add_controls(struct snd_soc_codec *codec);
extern int tpa6130a2_stereo_enable(struct snd_soc_codec *codec, int enable);

#endif /* __TPA6130A2_H__ */

0 comments on commit 77a532e

Please sign in to comment.