diff options
author | Peter Ujfalusi <peter.ujfalusi@nokia.com> | 2010-11-30 09:00:02 -0500 |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2010-11-30 10:39:39 -0500 |
commit | 8cc14e13d15ec558c880ce6eaaddf99c08f85ab6 (patch) | |
tree | 6141ca1c3d80d82d4e2cd4129aa48b179055b0bc | |
parent | d534bacd918fcf0909039b95db7c090702e739d5 (diff) |
ASoC: tpa6130a2: Use one event handler for PGA_E
Reduce the amount of duplicated code by using single
event handler for PGA_E to enable the needed channel.
Use the w->shift to pass the channel information to
the handler function.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
-rw-r--r-- | sound/soc/codecs/tpa6130a2.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c index 42887ae1568b..4c77a82d9780 100644 --- a/sound/soc/codecs/tpa6130a2.c +++ b/sound/soc/codecs/tpa6130a2.c | |||
@@ -317,29 +317,15 @@ static void tpa6130a2_channel_enable(u8 channel, int enable) | |||
317 | } | 317 | } |
318 | } | 318 | } |
319 | 319 | ||
320 | static int tpa6130a2_left_event(struct snd_soc_dapm_widget *w, | 320 | static int tpa6130a2_pga_event(struct snd_soc_dapm_widget *w, |
321 | struct snd_kcontrol *kcontrol, int event) | 321 | struct snd_kcontrol *kcontrol, int event) |
322 | { | 322 | { |
323 | switch (event) { | 323 | switch (event) { |
324 | case SND_SOC_DAPM_POST_PMU: | 324 | case SND_SOC_DAPM_POST_PMU: |
325 | tpa6130a2_channel_enable(TPA6130A2_HP_EN_L, 1); | 325 | tpa6130a2_channel_enable(w->shift, 1); |
326 | break; | 326 | break; |
327 | case SND_SOC_DAPM_POST_PMD: | 327 | case SND_SOC_DAPM_POST_PMD: |
328 | tpa6130a2_channel_enable(TPA6130A2_HP_EN_L, 0); | 328 | tpa6130a2_channel_enable(w->shift, 0); |
329 | break; | ||
330 | } | ||
331 | return 0; | ||
332 | } | ||
333 | |||
334 | static int tpa6130a2_right_event(struct snd_soc_dapm_widget *w, | ||
335 | struct snd_kcontrol *kcontrol, int event) | ||
336 | { | ||
337 | switch (event) { | ||
338 | case SND_SOC_DAPM_POST_PMU: | ||
339 | tpa6130a2_channel_enable(TPA6130A2_HP_EN_R, 1); | ||
340 | break; | ||
341 | case SND_SOC_DAPM_POST_PMD: | ||
342 | tpa6130a2_channel_enable(TPA6130A2_HP_EN_R, 0); | ||
343 | break; | 329 | break; |
344 | } | 330 | } |
345 | return 0; | 331 | return 0; |
@@ -363,10 +349,10 @@ static int tpa6130a2_supply_event(struct snd_soc_dapm_widget *w, | |||
363 | 349 | ||
364 | static const struct snd_soc_dapm_widget tpa6130a2_dapm_widgets[] = { | 350 | static const struct snd_soc_dapm_widget tpa6130a2_dapm_widgets[] = { |
365 | SND_SOC_DAPM_PGA_E("TPA6130A2 Left", SND_SOC_NOPM, | 351 | SND_SOC_DAPM_PGA_E("TPA6130A2 Left", SND_SOC_NOPM, |
366 | 0, 0, NULL, 0, tpa6130a2_left_event, | 352 | TPA6130A2_HP_EN_L, 0, NULL, 0, tpa6130a2_pga_event, |
367 | SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD), | 353 | SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD), |
368 | SND_SOC_DAPM_PGA_E("TPA6130A2 Right", SND_SOC_NOPM, | 354 | SND_SOC_DAPM_PGA_E("TPA6130A2 Right", SND_SOC_NOPM, |
369 | 0, 0, NULL, 0, tpa6130a2_right_event, | 355 | TPA6130A2_HP_EN_R, 0, NULL, 0, tpa6130a2_pga_event, |
370 | SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD), | 356 | SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD), |
371 | SND_SOC_DAPM_SUPPLY("TPA6130A2 Enable", SND_SOC_NOPM, | 357 | SND_SOC_DAPM_SUPPLY("TPA6130A2 Enable", SND_SOC_NOPM, |
372 | 0, 0, tpa6130a2_supply_event, | 358 | 0, 0, tpa6130a2_supply_event, |