diff options
author | Olaya, Margarita <magi.olaya@ti.com> | 2010-12-10 22:11:44 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-12-14 06:12:11 -0500 |
commit | d88429a695a4a9ec66e90068956bbccb25d4ac6d (patch) | |
tree | c3f1460d15e9bade29d82bea42c9995398ef94e1 /sound/soc/soc-dapm.c | |
parent | 5a7743edac3d720a52e721229938d21d40f045ce (diff) |
ASoC: dapm: Add output driver widget
In some cases it was not possible to follow the appropiate power
ON/OFF sequence like in cases where the PGA needs to be enabled
before the driver and disabled before the PGA for pop reduction.
Add a widget to support output driver (speaker, haptic, vibra, etc)
drivers where power ON/OFF ordering is important.
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r-- | sound/soc/soc-dapm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index b521a139305a..3d310af28907 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -62,6 +62,7 @@ static int dapm_up_seq[] = { | |||
62 | [snd_soc_dapm_mixer_named_ctl] = 7, | 62 | [snd_soc_dapm_mixer_named_ctl] = 7, |
63 | [snd_soc_dapm_pga] = 8, | 63 | [snd_soc_dapm_pga] = 8, |
64 | [snd_soc_dapm_adc] = 9, | 64 | [snd_soc_dapm_adc] = 9, |
65 | [snd_soc_dapm_out_drv] = 10, | ||
65 | [snd_soc_dapm_hp] = 10, | 66 | [snd_soc_dapm_hp] = 10, |
66 | [snd_soc_dapm_spk] = 10, | 67 | [snd_soc_dapm_spk] = 10, |
67 | [snd_soc_dapm_post] = 11, | 68 | [snd_soc_dapm_post] = 11, |
@@ -72,6 +73,7 @@ static int dapm_down_seq[] = { | |||
72 | [snd_soc_dapm_adc] = 1, | 73 | [snd_soc_dapm_adc] = 1, |
73 | [snd_soc_dapm_hp] = 2, | 74 | [snd_soc_dapm_hp] = 2, |
74 | [snd_soc_dapm_spk] = 2, | 75 | [snd_soc_dapm_spk] = 2, |
76 | [snd_soc_dapm_out_drv] = 2, | ||
75 | [snd_soc_dapm_pga] = 4, | 77 | [snd_soc_dapm_pga] = 4, |
76 | [snd_soc_dapm_mixer_named_ctl] = 5, | 78 | [snd_soc_dapm_mixer_named_ctl] = 5, |
77 | [snd_soc_dapm_mixer] = 5, | 79 | [snd_soc_dapm_mixer] = 5, |
@@ -235,6 +237,7 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w, | |||
235 | break; | 237 | break; |
236 | /* does not effect routing - always connected */ | 238 | /* does not effect routing - always connected */ |
237 | case snd_soc_dapm_pga: | 239 | case snd_soc_dapm_pga: |
240 | case snd_soc_dapm_out_drv: | ||
238 | case snd_soc_dapm_output: | 241 | case snd_soc_dapm_output: |
239 | case snd_soc_dapm_adc: | 242 | case snd_soc_dapm_adc: |
240 | case snd_soc_dapm_input: | 243 | case snd_soc_dapm_input: |
@@ -1250,6 +1253,7 @@ static ssize_t dapm_widget_show(struct device *dev, | |||
1250 | case snd_soc_dapm_dac: | 1253 | case snd_soc_dapm_dac: |
1251 | case snd_soc_dapm_adc: | 1254 | case snd_soc_dapm_adc: |
1252 | case snd_soc_dapm_pga: | 1255 | case snd_soc_dapm_pga: |
1256 | case snd_soc_dapm_out_drv: | ||
1253 | case snd_soc_dapm_mixer: | 1257 | case snd_soc_dapm_mixer: |
1254 | case snd_soc_dapm_mixer_named_ctl: | 1258 | case snd_soc_dapm_mixer_named_ctl: |
1255 | case snd_soc_dapm_supply: | 1259 | case snd_soc_dapm_supply: |
@@ -1428,6 +1432,7 @@ static int snd_soc_dapm_add_route(struct snd_soc_dapm_context *dapm, | |||
1428 | case snd_soc_dapm_adc: | 1432 | case snd_soc_dapm_adc: |
1429 | case snd_soc_dapm_dac: | 1433 | case snd_soc_dapm_dac: |
1430 | case snd_soc_dapm_pga: | 1434 | case snd_soc_dapm_pga: |
1435 | case snd_soc_dapm_out_drv: | ||
1431 | case snd_soc_dapm_input: | 1436 | case snd_soc_dapm_input: |
1432 | case snd_soc_dapm_output: | 1437 | case snd_soc_dapm_output: |
1433 | case snd_soc_dapm_micbias: | 1438 | case snd_soc_dapm_micbias: |
@@ -1545,6 +1550,7 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm) | |||
1545 | w->power_check = dapm_dac_check_power; | 1550 | w->power_check = dapm_dac_check_power; |
1546 | break; | 1551 | break; |
1547 | case snd_soc_dapm_pga: | 1552 | case snd_soc_dapm_pga: |
1553 | case snd_soc_dapm_out_drv: | ||
1548 | w->power_check = dapm_generic_check_power; | 1554 | w->power_check = dapm_generic_check_power; |
1549 | dapm_new_pga(dapm, w); | 1555 | dapm_new_pga(dapm, w); |
1550 | break; | 1556 | break; |