aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/cx20442.c
diff options
context:
space:
mode:
authorJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>2009-08-06 06:25:00 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-06 06:36:46 -0400
commit9029bb316bb99ccc7f0518c4d3e0d6adc0729c4f (patch)
tree724a2259199e7ea6aeb2fb72f3ca9704b537b0d1 /sound/soc/codecs/cx20442.c
parent4977b03e3dc3b76182903cda2df9dc2ef8f566a0 (diff)
ASoC: CX20442: simplify codec controller usage
This patch is a workaround for the problem of several subsequent control statements not being applied correctly to the codec controller (modem). In order to follow the hook switch state change from handset to handsfree while in full duplex mode, two consecutive +VLS control commands were sent to the modem. The first one was M1 (microphone only), the seconds one was M1S1 (both microphone and speaker). As there was no real modem handshaking procedure implemented, neither in the codec nor in the machine driver part of the line discipline, the modem was having the second command missed. Since a possibility to switch to microphone only mode (and speaker only mode as well) seams of no value, I have modified the code to issue single M1S1 command only for any of those cases. Tested on my Amstrad Delta. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/cx20442.c')
-rw-r--r--sound/soc/codecs/cx20442.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sound/soc/codecs/cx20442.c b/sound/soc/codecs/cx20442.c
index 0e54adcc9795..38eac9c866e1 100644
--- a/sound/soc/codecs/cx20442.c
+++ b/sound/soc/codecs/cx20442.c
@@ -138,9 +138,7 @@ static int cx20442_pm_to_v253_vls(u8 value)
138 case 0: 138 case 0:
139 return V253_VLS_T; 139 return V253_VLS_T;
140 case (1 << CX20442_SPKOUT): 140 case (1 << CX20442_SPKOUT):
141 return V253_VLS_S1;
142 case (1 << CX20442_MIC): 141 case (1 << CX20442_MIC):
143 return V253_VLS_M1;
144 case (1 << CX20442_SPKOUT) | (1 << CX20442_MIC): 142 case (1 << CX20442_SPKOUT) | (1 << CX20442_MIC):
145 return V253_VLS_M1S1; 143 return V253_VLS_M1S1;
146 case (1 << CX20442_TELOUT): 144 case (1 << CX20442_TELOUT):