diff options
Diffstat (limited to 'sound/soc/codecs/wm8400.c')
-rw-r--r-- | sound/soc/codecs/wm8400.c | 135 |
1 files changed, 67 insertions, 68 deletions
diff --git a/sound/soc/codecs/wm8400.c b/sound/soc/codecs/wm8400.c index 898979d23010..5dc31ebcd0e7 100644 --- a/sound/soc/codecs/wm8400.c +++ b/sound/soc/codecs/wm8400.c | |||
@@ -138,8 +138,8 @@ static int wm8400_outpga_put_volsw_vu(struct snd_kcontrol *kcontrol, | |||
138 | return ret; | 138 | return ret; |
139 | 139 | ||
140 | /* now hit the volume update bits (always bit 8) */ | 140 | /* now hit the volume update bits (always bit 8) */ |
141 | val = wm8400_read(codec, reg); | 141 | val = snd_soc_read(codec, reg); |
142 | return wm8400_write(codec, reg, val | 0x0100); | 142 | return snd_soc_write(codec, reg, val | 0x0100); |
143 | } | 143 | } |
144 | 144 | ||
145 | #define WM8400_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert, tlv_array) \ | 145 | #define WM8400_OUTPGA_SINGLE_R_TLV(xname, reg, shift, max, invert, tlv_array) \ |
@@ -362,8 +362,8 @@ static int inmixer_event (struct snd_soc_dapm_widget *w, | |||
362 | { | 362 | { |
363 | u16 reg, fakepower; | 363 | u16 reg, fakepower; |
364 | 364 | ||
365 | reg = wm8400_read(w->codec, WM8400_POWER_MANAGEMENT_2); | 365 | reg = snd_soc_read(w->codec, WM8400_POWER_MANAGEMENT_2); |
366 | fakepower = wm8400_read(w->codec, WM8400_INTDRIVBITS); | 366 | fakepower = snd_soc_read(w->codec, WM8400_INTDRIVBITS); |
367 | 367 | ||
368 | if (fakepower & ((1 << WM8400_INMIXL_PWR) | | 368 | if (fakepower & ((1 << WM8400_INMIXL_PWR) | |
369 | (1 << WM8400_AINLMUX_PWR))) { | 369 | (1 << WM8400_AINLMUX_PWR))) { |
@@ -378,7 +378,7 @@ static int inmixer_event (struct snd_soc_dapm_widget *w, | |||
378 | } else { | 378 | } else { |
379 | reg &= ~WM8400_AINR_ENA; | 379 | reg &= ~WM8400_AINR_ENA; |
380 | } | 380 | } |
381 | wm8400_write(w->codec, WM8400_POWER_MANAGEMENT_2, reg); | 381 | snd_soc_write(w->codec, WM8400_POWER_MANAGEMENT_2, reg); |
382 | 382 | ||
383 | return 0; | 383 | return 0; |
384 | } | 384 | } |
@@ -394,7 +394,7 @@ static int outmixer_event (struct snd_soc_dapm_widget *w, | |||
394 | 394 | ||
395 | switch (reg_shift) { | 395 | switch (reg_shift) { |
396 | case WM8400_SPEAKER_MIXER | (WM8400_LDSPK << 8) : | 396 | case WM8400_SPEAKER_MIXER | (WM8400_LDSPK << 8) : |
397 | reg = wm8400_read(w->codec, WM8400_OUTPUT_MIXER1); | 397 | reg = snd_soc_read(w->codec, WM8400_OUTPUT_MIXER1); |
398 | if (reg & WM8400_LDLO) { | 398 | if (reg & WM8400_LDLO) { |
399 | printk(KERN_WARNING | 399 | printk(KERN_WARNING |
400 | "Cannot set as Output Mixer 1 LDLO Set\n"); | 400 | "Cannot set as Output Mixer 1 LDLO Set\n"); |
@@ -402,7 +402,7 @@ static int outmixer_event (struct snd_soc_dapm_widget *w, | |||
402 | } | 402 | } |
403 | break; | 403 | break; |
404 | case WM8400_SPEAKER_MIXER | (WM8400_RDSPK << 8): | 404 | case WM8400_SPEAKER_MIXER | (WM8400_RDSPK << 8): |
405 | reg = wm8400_read(w->codec, WM8400_OUTPUT_MIXER2); | 405 | reg = snd_soc_read(w->codec, WM8400_OUTPUT_MIXER2); |
406 | if (reg & WM8400_RDRO) { | 406 | if (reg & WM8400_RDRO) { |
407 | printk(KERN_WARNING | 407 | printk(KERN_WARNING |
408 | "Cannot set as Output Mixer 2 RDRO Set\n"); | 408 | "Cannot set as Output Mixer 2 RDRO Set\n"); |
@@ -410,7 +410,7 @@ static int outmixer_event (struct snd_soc_dapm_widget *w, | |||
410 | } | 410 | } |
411 | break; | 411 | break; |
412 | case WM8400_OUTPUT_MIXER1 | (WM8400_LDLO << 8): | 412 | case WM8400_OUTPUT_MIXER1 | (WM8400_LDLO << 8): |
413 | reg = wm8400_read(w->codec, WM8400_SPEAKER_MIXER); | 413 | reg = snd_soc_read(w->codec, WM8400_SPEAKER_MIXER); |
414 | if (reg & WM8400_LDSPK) { | 414 | if (reg & WM8400_LDSPK) { |
415 | printk(KERN_WARNING | 415 | printk(KERN_WARNING |
416 | "Cannot set as Speaker Mixer LDSPK Set\n"); | 416 | "Cannot set as Speaker Mixer LDSPK Set\n"); |
@@ -418,7 +418,7 @@ static int outmixer_event (struct snd_soc_dapm_widget *w, | |||
418 | } | 418 | } |
419 | break; | 419 | break; |
420 | case WM8400_OUTPUT_MIXER2 | (WM8400_RDRO << 8): | 420 | case WM8400_OUTPUT_MIXER2 | (WM8400_RDRO << 8): |
421 | reg = wm8400_read(w->codec, WM8400_SPEAKER_MIXER); | 421 | reg = snd_soc_read(w->codec, WM8400_SPEAKER_MIXER); |
422 | if (reg & WM8400_RDSPK) { | 422 | if (reg & WM8400_RDSPK) { |
423 | printk(KERN_WARNING | 423 | printk(KERN_WARNING |
424 | "Cannot set as Speaker Mixer RDSPK Set\n"); | 424 | "Cannot set as Speaker Mixer RDSPK Set\n"); |
@@ -1021,13 +1021,13 @@ static int wm8400_set_dai_pll(struct snd_soc_dai *codec_dai, int pll_id, | |||
1021 | wm8400->fll_in = freq_in; | 1021 | wm8400->fll_in = freq_in; |
1022 | 1022 | ||
1023 | /* We *must* disable the FLL before any changes */ | 1023 | /* We *must* disable the FLL before any changes */ |
1024 | reg = wm8400_read(codec, WM8400_POWER_MANAGEMENT_2); | 1024 | reg = snd_soc_read(codec, WM8400_POWER_MANAGEMENT_2); |
1025 | reg &= ~WM8400_FLL_ENA; | 1025 | reg &= ~WM8400_FLL_ENA; |
1026 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_2, reg); | 1026 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_2, reg); |
1027 | 1027 | ||
1028 | reg = wm8400_read(codec, WM8400_FLL_CONTROL_1); | 1028 | reg = snd_soc_read(codec, WM8400_FLL_CONTROL_1); |
1029 | reg &= ~WM8400_FLL_OSC_ENA; | 1029 | reg &= ~WM8400_FLL_OSC_ENA; |
1030 | wm8400_write(codec, WM8400_FLL_CONTROL_1, reg); | 1030 | snd_soc_write(codec, WM8400_FLL_CONTROL_1, reg); |
1031 | 1031 | ||
1032 | if (!freq_out) | 1032 | if (!freq_out) |
1033 | return 0; | 1033 | return 0; |
@@ -1035,15 +1035,15 @@ static int wm8400_set_dai_pll(struct snd_soc_dai *codec_dai, int pll_id, | |||
1035 | reg &= ~(WM8400_FLL_REF_FREQ | WM8400_FLL_FRATIO_MASK); | 1035 | reg &= ~(WM8400_FLL_REF_FREQ | WM8400_FLL_FRATIO_MASK); |
1036 | reg |= WM8400_FLL_FRAC | factors.fratio; | 1036 | reg |= WM8400_FLL_FRAC | factors.fratio; |
1037 | reg |= factors.freq_ref << WM8400_FLL_REF_FREQ_SHIFT; | 1037 | reg |= factors.freq_ref << WM8400_FLL_REF_FREQ_SHIFT; |
1038 | wm8400_write(codec, WM8400_FLL_CONTROL_1, reg); | 1038 | snd_soc_write(codec, WM8400_FLL_CONTROL_1, reg); |
1039 | 1039 | ||
1040 | wm8400_write(codec, WM8400_FLL_CONTROL_2, factors.k); | 1040 | snd_soc_write(codec, WM8400_FLL_CONTROL_2, factors.k); |
1041 | wm8400_write(codec, WM8400_FLL_CONTROL_3, factors.n); | 1041 | snd_soc_write(codec, WM8400_FLL_CONTROL_3, factors.n); |
1042 | 1042 | ||
1043 | reg = wm8400_read(codec, WM8400_FLL_CONTROL_4); | 1043 | reg = snd_soc_read(codec, WM8400_FLL_CONTROL_4); |
1044 | reg &= ~WM8400_FLL_OUTDIV_MASK; | 1044 | reg &= ~WM8400_FLL_OUTDIV_MASK; |
1045 | reg |= factors.outdiv; | 1045 | reg |= factors.outdiv; |
1046 | wm8400_write(codec, WM8400_FLL_CONTROL_4, reg); | 1046 | snd_soc_write(codec, WM8400_FLL_CONTROL_4, reg); |
1047 | 1047 | ||
1048 | return 0; | 1048 | return 0; |
1049 | } | 1049 | } |
@@ -1057,8 +1057,8 @@ static int wm8400_set_dai_fmt(struct snd_soc_dai *codec_dai, | |||
1057 | struct snd_soc_codec *codec = codec_dai->codec; | 1057 | struct snd_soc_codec *codec = codec_dai->codec; |
1058 | u16 audio1, audio3; | 1058 | u16 audio1, audio3; |
1059 | 1059 | ||
1060 | audio1 = wm8400_read(codec, WM8400_AUDIO_INTERFACE_1); | 1060 | audio1 = snd_soc_read(codec, WM8400_AUDIO_INTERFACE_1); |
1061 | audio3 = wm8400_read(codec, WM8400_AUDIO_INTERFACE_3); | 1061 | audio3 = snd_soc_read(codec, WM8400_AUDIO_INTERFACE_3); |
1062 | 1062 | ||
1063 | /* set master/slave audio interface */ | 1063 | /* set master/slave audio interface */ |
1064 | switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { | 1064 | switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { |
@@ -1099,8 +1099,8 @@ static int wm8400_set_dai_fmt(struct snd_soc_dai *codec_dai, | |||
1099 | return -EINVAL; | 1099 | return -EINVAL; |
1100 | } | 1100 | } |
1101 | 1101 | ||
1102 | wm8400_write(codec, WM8400_AUDIO_INTERFACE_1, audio1); | 1102 | snd_soc_write(codec, WM8400_AUDIO_INTERFACE_1, audio1); |
1103 | wm8400_write(codec, WM8400_AUDIO_INTERFACE_3, audio3); | 1103 | snd_soc_write(codec, WM8400_AUDIO_INTERFACE_3, audio3); |
1104 | return 0; | 1104 | return 0; |
1105 | } | 1105 | } |
1106 | 1106 | ||
@@ -1112,24 +1112,24 @@ static int wm8400_set_dai_clkdiv(struct snd_soc_dai *codec_dai, | |||
1112 | 1112 | ||
1113 | switch (div_id) { | 1113 | switch (div_id) { |
1114 | case WM8400_MCLK_DIV: | 1114 | case WM8400_MCLK_DIV: |
1115 | reg = wm8400_read(codec, WM8400_CLOCKING_2) & | 1115 | reg = snd_soc_read(codec, WM8400_CLOCKING_2) & |
1116 | ~WM8400_MCLK_DIV_MASK; | 1116 | ~WM8400_MCLK_DIV_MASK; |
1117 | wm8400_write(codec, WM8400_CLOCKING_2, reg | div); | 1117 | snd_soc_write(codec, WM8400_CLOCKING_2, reg | div); |
1118 | break; | 1118 | break; |
1119 | case WM8400_DACCLK_DIV: | 1119 | case WM8400_DACCLK_DIV: |
1120 | reg = wm8400_read(codec, WM8400_CLOCKING_2) & | 1120 | reg = snd_soc_read(codec, WM8400_CLOCKING_2) & |
1121 | ~WM8400_DAC_CLKDIV_MASK; | 1121 | ~WM8400_DAC_CLKDIV_MASK; |
1122 | wm8400_write(codec, WM8400_CLOCKING_2, reg | div); | 1122 | snd_soc_write(codec, WM8400_CLOCKING_2, reg | div); |
1123 | break; | 1123 | break; |
1124 | case WM8400_ADCCLK_DIV: | 1124 | case WM8400_ADCCLK_DIV: |
1125 | reg = wm8400_read(codec, WM8400_CLOCKING_2) & | 1125 | reg = snd_soc_read(codec, WM8400_CLOCKING_2) & |
1126 | ~WM8400_ADC_CLKDIV_MASK; | 1126 | ~WM8400_ADC_CLKDIV_MASK; |
1127 | wm8400_write(codec, WM8400_CLOCKING_2, reg | div); | 1127 | snd_soc_write(codec, WM8400_CLOCKING_2, reg | div); |
1128 | break; | 1128 | break; |
1129 | case WM8400_BCLK_DIV: | 1129 | case WM8400_BCLK_DIV: |
1130 | reg = wm8400_read(codec, WM8400_CLOCKING_1) & | 1130 | reg = snd_soc_read(codec, WM8400_CLOCKING_1) & |
1131 | ~WM8400_BCLK_DIV_MASK; | 1131 | ~WM8400_BCLK_DIV_MASK; |
1132 | wm8400_write(codec, WM8400_CLOCKING_1, reg | div); | 1132 | snd_soc_write(codec, WM8400_CLOCKING_1, reg | div); |
1133 | break; | 1133 | break; |
1134 | default: | 1134 | default: |
1135 | return -EINVAL; | 1135 | return -EINVAL; |
@@ -1145,9 +1145,8 @@ static int wm8400_hw_params(struct snd_pcm_substream *substream, | |||
1145 | struct snd_pcm_hw_params *params, | 1145 | struct snd_pcm_hw_params *params, |
1146 | struct snd_soc_dai *dai) | 1146 | struct snd_soc_dai *dai) |
1147 | { | 1147 | { |
1148 | struct snd_soc_pcm_runtime *rtd = substream->private_data; | 1148 | struct snd_soc_codec *codec = dai->codec; |
1149 | struct snd_soc_codec *codec = rtd->codec; | 1149 | u16 audio1 = snd_soc_read(codec, WM8400_AUDIO_INTERFACE_1); |
1150 | u16 audio1 = wm8400_read(codec, WM8400_AUDIO_INTERFACE_1); | ||
1151 | 1150 | ||
1152 | audio1 &= ~WM8400_AIF_WL_MASK; | 1151 | audio1 &= ~WM8400_AIF_WL_MASK; |
1153 | /* bit size */ | 1152 | /* bit size */ |
@@ -1165,19 +1164,19 @@ static int wm8400_hw_params(struct snd_pcm_substream *substream, | |||
1165 | break; | 1164 | break; |
1166 | } | 1165 | } |
1167 | 1166 | ||
1168 | wm8400_write(codec, WM8400_AUDIO_INTERFACE_1, audio1); | 1167 | snd_soc_write(codec, WM8400_AUDIO_INTERFACE_1, audio1); |
1169 | return 0; | 1168 | return 0; |
1170 | } | 1169 | } |
1171 | 1170 | ||
1172 | static int wm8400_mute(struct snd_soc_dai *dai, int mute) | 1171 | static int wm8400_mute(struct snd_soc_dai *dai, int mute) |
1173 | { | 1172 | { |
1174 | struct snd_soc_codec *codec = dai->codec; | 1173 | struct snd_soc_codec *codec = dai->codec; |
1175 | u16 val = wm8400_read(codec, WM8400_DAC_CTRL) & ~WM8400_DAC_MUTE; | 1174 | u16 val = snd_soc_read(codec, WM8400_DAC_CTRL) & ~WM8400_DAC_MUTE; |
1176 | 1175 | ||
1177 | if (mute) | 1176 | if (mute) |
1178 | wm8400_write(codec, WM8400_DAC_CTRL, val | WM8400_DAC_MUTE); | 1177 | snd_soc_write(codec, WM8400_DAC_CTRL, val | WM8400_DAC_MUTE); |
1179 | else | 1178 | else |
1180 | wm8400_write(codec, WM8400_DAC_CTRL, val); | 1179 | snd_soc_write(codec, WM8400_DAC_CTRL, val); |
1181 | 1180 | ||
1182 | return 0; | 1181 | return 0; |
1183 | } | 1182 | } |
@@ -1196,9 +1195,9 @@ static int wm8400_set_bias_level(struct snd_soc_codec *codec, | |||
1196 | 1195 | ||
1197 | case SND_SOC_BIAS_PREPARE: | 1196 | case SND_SOC_BIAS_PREPARE: |
1198 | /* VMID=2*50k */ | 1197 | /* VMID=2*50k */ |
1199 | val = wm8400_read(codec, WM8400_POWER_MANAGEMENT_1) & | 1198 | val = snd_soc_read(codec, WM8400_POWER_MANAGEMENT_1) & |
1200 | ~WM8400_VMID_MODE_MASK; | 1199 | ~WM8400_VMID_MODE_MASK; |
1201 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, val | 0x2); | 1200 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, val | 0x2); |
1202 | break; | 1201 | break; |
1203 | 1202 | ||
1204 | case SND_SOC_BIAS_STANDBY: | 1203 | case SND_SOC_BIAS_STANDBY: |
@@ -1212,74 +1211,74 @@ static int wm8400_set_bias_level(struct snd_soc_codec *codec, | |||
1212 | return ret; | 1211 | return ret; |
1213 | } | 1212 | } |
1214 | 1213 | ||
1215 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, | 1214 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, |
1216 | WM8400_CODEC_ENA | WM8400_SYSCLK_ENA); | 1215 | WM8400_CODEC_ENA | WM8400_SYSCLK_ENA); |
1217 | 1216 | ||
1218 | /* Enable POBCTRL, SOFT_ST, VMIDTOG and BUFDCOPEN */ | 1217 | /* Enable POBCTRL, SOFT_ST, VMIDTOG and BUFDCOPEN */ |
1219 | wm8400_write(codec, WM8400_ANTIPOP2, WM8400_SOFTST | | 1218 | snd_soc_write(codec, WM8400_ANTIPOP2, WM8400_SOFTST | |
1220 | WM8400_BUFDCOPEN | WM8400_POBCTRL); | 1219 | WM8400_BUFDCOPEN | WM8400_POBCTRL); |
1221 | 1220 | ||
1222 | msleep(50); | 1221 | msleep(50); |
1223 | 1222 | ||
1224 | /* Enable VREF & VMID at 2x50k */ | 1223 | /* Enable VREF & VMID at 2x50k */ |
1225 | val = wm8400_read(codec, WM8400_POWER_MANAGEMENT_1); | 1224 | val = snd_soc_read(codec, WM8400_POWER_MANAGEMENT_1); |
1226 | val |= 0x2 | WM8400_VREF_ENA; | 1225 | val |= 0x2 | WM8400_VREF_ENA; |
1227 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, val); | 1226 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, val); |
1228 | 1227 | ||
1229 | /* Enable BUFIOEN */ | 1228 | /* Enable BUFIOEN */ |
1230 | wm8400_write(codec, WM8400_ANTIPOP2, WM8400_SOFTST | | 1229 | snd_soc_write(codec, WM8400_ANTIPOP2, WM8400_SOFTST | |
1231 | WM8400_BUFDCOPEN | WM8400_POBCTRL | | 1230 | WM8400_BUFDCOPEN | WM8400_POBCTRL | |
1232 | WM8400_BUFIOEN); | 1231 | WM8400_BUFIOEN); |
1233 | 1232 | ||
1234 | /* disable POBCTRL, SOFT_ST and BUFDCOPEN */ | 1233 | /* disable POBCTRL, SOFT_ST and BUFDCOPEN */ |
1235 | wm8400_write(codec, WM8400_ANTIPOP2, WM8400_BUFIOEN); | 1234 | snd_soc_write(codec, WM8400_ANTIPOP2, WM8400_BUFIOEN); |
1236 | } | 1235 | } |
1237 | 1236 | ||
1238 | /* VMID=2*300k */ | 1237 | /* VMID=2*300k */ |
1239 | val = wm8400_read(codec, WM8400_POWER_MANAGEMENT_1) & | 1238 | val = snd_soc_read(codec, WM8400_POWER_MANAGEMENT_1) & |
1240 | ~WM8400_VMID_MODE_MASK; | 1239 | ~WM8400_VMID_MODE_MASK; |
1241 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, val | 0x4); | 1240 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, val | 0x4); |
1242 | break; | 1241 | break; |
1243 | 1242 | ||
1244 | case SND_SOC_BIAS_OFF: | 1243 | case SND_SOC_BIAS_OFF: |
1245 | /* Enable POBCTRL and SOFT_ST */ | 1244 | /* Enable POBCTRL and SOFT_ST */ |
1246 | wm8400_write(codec, WM8400_ANTIPOP2, WM8400_SOFTST | | 1245 | snd_soc_write(codec, WM8400_ANTIPOP2, WM8400_SOFTST | |
1247 | WM8400_POBCTRL | WM8400_BUFIOEN); | 1246 | WM8400_POBCTRL | WM8400_BUFIOEN); |
1248 | 1247 | ||
1249 | /* Enable POBCTRL, SOFT_ST and BUFDCOPEN */ | 1248 | /* Enable POBCTRL, SOFT_ST and BUFDCOPEN */ |
1250 | wm8400_write(codec, WM8400_ANTIPOP2, WM8400_SOFTST | | 1249 | snd_soc_write(codec, WM8400_ANTIPOP2, WM8400_SOFTST | |
1251 | WM8400_BUFDCOPEN | WM8400_POBCTRL | | 1250 | WM8400_BUFDCOPEN | WM8400_POBCTRL | |
1252 | WM8400_BUFIOEN); | 1251 | WM8400_BUFIOEN); |
1253 | 1252 | ||
1254 | /* mute DAC */ | 1253 | /* mute DAC */ |
1255 | val = wm8400_read(codec, WM8400_DAC_CTRL); | 1254 | val = snd_soc_read(codec, WM8400_DAC_CTRL); |
1256 | wm8400_write(codec, WM8400_DAC_CTRL, val | WM8400_DAC_MUTE); | 1255 | snd_soc_write(codec, WM8400_DAC_CTRL, val | WM8400_DAC_MUTE); |
1257 | 1256 | ||
1258 | /* Enable any disabled outputs */ | 1257 | /* Enable any disabled outputs */ |
1259 | val = wm8400_read(codec, WM8400_POWER_MANAGEMENT_1); | 1258 | val = snd_soc_read(codec, WM8400_POWER_MANAGEMENT_1); |
1260 | val |= WM8400_SPK_ENA | WM8400_OUT3_ENA | | 1259 | val |= WM8400_SPK_ENA | WM8400_OUT3_ENA | |
1261 | WM8400_OUT4_ENA | WM8400_LOUT_ENA | | 1260 | WM8400_OUT4_ENA | WM8400_LOUT_ENA | |
1262 | WM8400_ROUT_ENA; | 1261 | WM8400_ROUT_ENA; |
1263 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, val); | 1262 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, val); |
1264 | 1263 | ||
1265 | /* Disable VMID */ | 1264 | /* Disable VMID */ |
1266 | val &= ~WM8400_VMID_MODE_MASK; | 1265 | val &= ~WM8400_VMID_MODE_MASK; |
1267 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, val); | 1266 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, val); |
1268 | 1267 | ||
1269 | msleep(300); | 1268 | msleep(300); |
1270 | 1269 | ||
1271 | /* Enable all output discharge bits */ | 1270 | /* Enable all output discharge bits */ |
1272 | wm8400_write(codec, WM8400_ANTIPOP1, WM8400_DIS_LLINE | | 1271 | snd_soc_write(codec, WM8400_ANTIPOP1, WM8400_DIS_LLINE | |
1273 | WM8400_DIS_RLINE | WM8400_DIS_OUT3 | | 1272 | WM8400_DIS_RLINE | WM8400_DIS_OUT3 | |
1274 | WM8400_DIS_OUT4 | WM8400_DIS_LOUT | | 1273 | WM8400_DIS_OUT4 | WM8400_DIS_LOUT | |
1275 | WM8400_DIS_ROUT); | 1274 | WM8400_DIS_ROUT); |
1276 | 1275 | ||
1277 | /* Disable VREF */ | 1276 | /* Disable VREF */ |
1278 | val &= ~WM8400_VREF_ENA; | 1277 | val &= ~WM8400_VREF_ENA; |
1279 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, val); | 1278 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, val); |
1280 | 1279 | ||
1281 | /* disable POBCTRL, SOFT_ST and BUFDCOPEN */ | 1280 | /* disable POBCTRL, SOFT_ST and BUFDCOPEN */ |
1282 | wm8400_write(codec, WM8400_ANTIPOP2, 0x0); | 1281 | snd_soc_write(codec, WM8400_ANTIPOP2, 0x0); |
1283 | 1282 | ||
1284 | ret = regulator_bulk_disable(ARRAY_SIZE(power), | 1283 | ret = regulator_bulk_disable(ARRAY_SIZE(power), |
1285 | &power[0]); | 1284 | &power[0]); |
@@ -1385,19 +1384,19 @@ static int wm8400_codec_probe(struct snd_soc_codec *codec) | |||
1385 | 1384 | ||
1386 | wm8400_codec_reset(codec); | 1385 | wm8400_codec_reset(codec); |
1387 | 1386 | ||
1388 | reg = wm8400_read(codec, WM8400_POWER_MANAGEMENT_1); | 1387 | reg = snd_soc_read(codec, WM8400_POWER_MANAGEMENT_1); |
1389 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, reg | WM8400_CODEC_ENA); | 1388 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, reg | WM8400_CODEC_ENA); |
1390 | 1389 | ||
1391 | /* Latch volume update bits */ | 1390 | /* Latch volume update bits */ |
1392 | reg = wm8400_read(codec, WM8400_LEFT_LINE_INPUT_1_2_VOLUME); | 1391 | reg = snd_soc_read(codec, WM8400_LEFT_LINE_INPUT_1_2_VOLUME); |
1393 | wm8400_write(codec, WM8400_LEFT_LINE_INPUT_1_2_VOLUME, | 1392 | snd_soc_write(codec, WM8400_LEFT_LINE_INPUT_1_2_VOLUME, |
1394 | reg & WM8400_IPVU); | 1393 | reg & WM8400_IPVU); |
1395 | reg = wm8400_read(codec, WM8400_RIGHT_LINE_INPUT_1_2_VOLUME); | 1394 | reg = snd_soc_read(codec, WM8400_RIGHT_LINE_INPUT_1_2_VOLUME); |
1396 | wm8400_write(codec, WM8400_RIGHT_LINE_INPUT_1_2_VOLUME, | 1395 | snd_soc_write(codec, WM8400_RIGHT_LINE_INPUT_1_2_VOLUME, |
1397 | reg & WM8400_IPVU); | 1396 | reg & WM8400_IPVU); |
1398 | 1397 | ||
1399 | wm8400_write(codec, WM8400_LEFT_OUTPUT_VOLUME, 0x50 | (1<<8)); | 1398 | snd_soc_write(codec, WM8400_LEFT_OUTPUT_VOLUME, 0x50 | (1<<8)); |
1400 | wm8400_write(codec, WM8400_RIGHT_OUTPUT_VOLUME, 0x50 | (1<<8)); | 1399 | snd_soc_write(codec, WM8400_RIGHT_OUTPUT_VOLUME, 0x50 | (1<<8)); |
1401 | 1400 | ||
1402 | if (!schedule_work(&priv->work)) { | 1401 | if (!schedule_work(&priv->work)) { |
1403 | ret = -EINVAL; | 1402 | ret = -EINVAL; |
@@ -1414,8 +1413,8 @@ static int wm8400_codec_remove(struct snd_soc_codec *codec) | |||
1414 | { | 1413 | { |
1415 | u16 reg; | 1414 | u16 reg; |
1416 | 1415 | ||
1417 | reg = wm8400_read(codec, WM8400_POWER_MANAGEMENT_1); | 1416 | reg = snd_soc_read(codec, WM8400_POWER_MANAGEMENT_1); |
1418 | wm8400_write(codec, WM8400_POWER_MANAGEMENT_1, | 1417 | snd_soc_write(codec, WM8400_POWER_MANAGEMENT_1, |
1419 | reg & (~WM8400_CODEC_ENA)); | 1418 | reg & (~WM8400_CODEC_ENA)); |
1420 | 1419 | ||
1421 | regulator_bulk_free(ARRAY_SIZE(power), power); | 1420 | regulator_bulk_free(ARRAY_SIZE(power), power); |
@@ -1428,7 +1427,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8400 = { | |||
1428 | .remove = wm8400_codec_remove, | 1427 | .remove = wm8400_codec_remove, |
1429 | .suspend = wm8400_suspend, | 1428 | .suspend = wm8400_suspend, |
1430 | .resume = wm8400_resume, | 1429 | .resume = wm8400_resume, |
1431 | .read = wm8400_read, | 1430 | .read = snd_soc_read, |
1432 | .write = wm8400_write, | 1431 | .write = wm8400_write, |
1433 | .set_bias_level = wm8400_set_bias_level, | 1432 | .set_bias_level = wm8400_set_bias_level, |
1434 | 1433 | ||