diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-26 13:16:14 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-26 13:16:14 -0400 |
commit | 49bc389ec2318b75e86a3c3239a495d7a8311046 (patch) | |
tree | 5fe953bd06a535b262ac3da29ab9aa09e5a57d8c /sound/soc/codecs | |
parent | aed9913e6fad5a7eccce2b7a3ee6daa96b575157 (diff) | |
parent | df8c3dbee9e6f19ddb0ae8e05cdf76eb2d3b7f00 (diff) |
Merge tag 'arizona-extcon-asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into asoc-arizona
ASoC/extcon: arizona: Fix interaction between HPDET and headphone outputs
This patch series covers both ASoC and extcon subsystems and fixes an
interaction between the HPDET function and the headphone outputs - we
really shouldn't run HPDET while the headphone is active. The first
patch is a refactoring to make the extcon side easier.
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r-- | sound/soc/codecs/arizona.c | 33 | ||||
-rw-r--r-- | sound/soc/codecs/arizona.h | 3 | ||||
-rw-r--r-- | sound/soc/codecs/wm5102.c | 23 | ||||
-rw-r--r-- | sound/soc/codecs/wm5110.c | 24 | ||||
-rw-r--r-- | sound/soc/codecs/wm8350.c | 4 | ||||
-rw-r--r-- | sound/soc/codecs/wm8960.c | 8 |
6 files changed, 71 insertions, 24 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c index c979ff2b4191..abdd019c5b6e 100644 --- a/sound/soc/codecs/arizona.c +++ b/sound/soc/codecs/arizona.c | |||
@@ -583,6 +583,39 @@ int arizona_out_ev(struct snd_soc_dapm_widget *w, | |||
583 | } | 583 | } |
584 | EXPORT_SYMBOL_GPL(arizona_out_ev); | 584 | EXPORT_SYMBOL_GPL(arizona_out_ev); |
585 | 585 | ||
586 | int arizona_hp_ev(struct snd_soc_dapm_widget *w, | ||
587 | struct snd_kcontrol *kcontrol, | ||
588 | int event) | ||
589 | { | ||
590 | struct arizona_priv *priv = snd_soc_codec_get_drvdata(w->codec); | ||
591 | unsigned int mask = 1 << w->shift; | ||
592 | unsigned int val; | ||
593 | |||
594 | switch (event) { | ||
595 | case SND_SOC_DAPM_POST_PMU: | ||
596 | val = mask; | ||
597 | break; | ||
598 | case SND_SOC_DAPM_PRE_PMD: | ||
599 | val = 0; | ||
600 | break; | ||
601 | default: | ||
602 | return -EINVAL; | ||
603 | } | ||
604 | |||
605 | /* Store the desired state for the HP outputs */ | ||
606 | priv->arizona->hp_ena &= ~mask; | ||
607 | priv->arizona->hp_ena |= val; | ||
608 | |||
609 | /* Force off if HPDET magic is active */ | ||
610 | if (priv->arizona->hpdet_magic) | ||
611 | val = 0; | ||
612 | |||
613 | snd_soc_update_bits(w->codec, ARIZONA_OUTPUT_ENABLES_1, mask, val); | ||
614 | |||
615 | return arizona_out_ev(w, kcontrol, event); | ||
616 | } | ||
617 | EXPORT_SYMBOL_GPL(arizona_hp_ev); | ||
618 | |||
586 | static unsigned int arizona_sysclk_48k_rates[] = { | 619 | static unsigned int arizona_sysclk_48k_rates[] = { |
587 | 6144000, | 620 | 6144000, |
588 | 12288000, | 621 | 12288000, |
diff --git a/sound/soc/codecs/arizona.h b/sound/soc/codecs/arizona.h index a754a1c0217f..af39f1006427 100644 --- a/sound/soc/codecs/arizona.h +++ b/sound/soc/codecs/arizona.h | |||
@@ -205,6 +205,9 @@ extern int arizona_in_ev(struct snd_soc_dapm_widget *w, | |||
205 | extern int arizona_out_ev(struct snd_soc_dapm_widget *w, | 205 | extern int arizona_out_ev(struct snd_soc_dapm_widget *w, |
206 | struct snd_kcontrol *kcontrol, | 206 | struct snd_kcontrol *kcontrol, |
207 | int event); | 207 | int event); |
208 | extern int arizona_hp_ev(struct snd_soc_dapm_widget *w, | ||
209 | struct snd_kcontrol *kcontrol, | ||
210 | int event); | ||
208 | 211 | ||
209 | extern int arizona_set_sysclk(struct snd_soc_codec *codec, int clk_id, | 212 | extern int arizona_set_sysclk(struct snd_soc_codec *codec, int clk_id, |
210 | int source, unsigned int freq, int dir); | 213 | int source, unsigned int freq, int dir); |
diff --git a/sound/soc/codecs/wm5102.c b/sound/soc/codecs/wm5102.c index a0084b1febdb..b7a3fdceec7f 100644 --- a/sound/soc/codecs/wm5102.c +++ b/sound/soc/codecs/wm5102.c | |||
@@ -570,6 +570,13 @@ static const struct reg_default wm5102_sysclk_reva_patch[] = { | |||
570 | { 0x025e, 0x0112 }, | 570 | { 0x025e, 0x0112 }, |
571 | }; | 571 | }; |
572 | 572 | ||
573 | static const struct reg_default wm5102_sysclk_revb_patch[] = { | ||
574 | { 0x3081, 0x08FE }, | ||
575 | { 0x3083, 0x00ED }, | ||
576 | { 0x30C1, 0x08FE }, | ||
577 | { 0x30C3, 0x00ED }, | ||
578 | }; | ||
579 | |||
573 | static int wm5102_sysclk_ev(struct snd_soc_dapm_widget *w, | 580 | static int wm5102_sysclk_ev(struct snd_soc_dapm_widget *w, |
574 | struct snd_kcontrol *kcontrol, int event) | 581 | struct snd_kcontrol *kcontrol, int event) |
575 | { | 582 | { |
@@ -584,6 +591,10 @@ static int wm5102_sysclk_ev(struct snd_soc_dapm_widget *w, | |||
584 | patch = wm5102_sysclk_reva_patch; | 591 | patch = wm5102_sysclk_reva_patch; |
585 | patch_size = ARRAY_SIZE(wm5102_sysclk_reva_patch); | 592 | patch_size = ARRAY_SIZE(wm5102_sysclk_reva_patch); |
586 | break; | 593 | break; |
594 | default: | ||
595 | patch = wm5102_sysclk_revb_patch; | ||
596 | patch_size = ARRAY_SIZE(wm5102_sysclk_revb_patch); | ||
597 | break; | ||
587 | } | 598 | } |
588 | 599 | ||
589 | switch (event) { | 600 | switch (event) { |
@@ -755,7 +766,7 @@ SOC_SINGLE("SPKDAT1 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_5L, | |||
755 | 766 | ||
756 | SOC_DOUBLE_R("HPOUT1 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_1L, | 767 | SOC_DOUBLE_R("HPOUT1 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_1L, |
757 | ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_MUTE_SHIFT, 1, 1), | 768 | ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_MUTE_SHIFT, 1, 1), |
758 | SOC_DOUBLE_R("OUT2 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_2L, | 769 | SOC_DOUBLE_R("HPOUT2 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_2L, |
759 | ARIZONA_DAC_DIGITAL_VOLUME_2R, ARIZONA_OUT2L_MUTE_SHIFT, 1, 1), | 770 | ARIZONA_DAC_DIGITAL_VOLUME_2R, ARIZONA_OUT2L_MUTE_SHIFT, 1, 1), |
760 | SOC_SINGLE("EPOUT Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_3L, | 771 | SOC_SINGLE("EPOUT Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_3L, |
761 | ARIZONA_OUT3L_MUTE_SHIFT, 1, 1), | 772 | ARIZONA_OUT3L_MUTE_SHIFT, 1, 1), |
@@ -767,7 +778,7 @@ SOC_DOUBLE_R("SPKDAT1 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_5L, | |||
767 | SOC_DOUBLE_R_TLV("HPOUT1 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_1L, | 778 | SOC_DOUBLE_R_TLV("HPOUT1 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_1L, |
768 | ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_VOL_SHIFT, | 779 | ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_VOL_SHIFT, |
769 | 0xbf, 0, digital_tlv), | 780 | 0xbf, 0, digital_tlv), |
770 | SOC_DOUBLE_R_TLV("OUT2 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_2L, | 781 | SOC_DOUBLE_R_TLV("HPOUT2 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_2L, |
771 | ARIZONA_DAC_DIGITAL_VOLUME_2R, ARIZONA_OUT2L_VOL_SHIFT, | 782 | ARIZONA_DAC_DIGITAL_VOLUME_2R, ARIZONA_OUT2L_VOL_SHIFT, |
772 | 0xbf, 0, digital_tlv), | 783 | 0xbf, 0, digital_tlv), |
773 | SOC_SINGLE_TLV("EPOUT Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_3L, | 784 | SOC_SINGLE_TLV("EPOUT Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_3L, |
@@ -1085,11 +1096,11 @@ ARIZONA_DSP_WIDGETS(DSP1, "DSP1"), | |||
1085 | SND_SOC_DAPM_VALUE_MUX("AEC Loopback", ARIZONA_DAC_AEC_CONTROL_1, | 1096 | SND_SOC_DAPM_VALUE_MUX("AEC Loopback", ARIZONA_DAC_AEC_CONTROL_1, |
1086 | ARIZONA_AEC_LOOPBACK_ENA, 0, &wm5102_aec_loopback_mux), | 1097 | ARIZONA_AEC_LOOPBACK_ENA, 0, &wm5102_aec_loopback_mux), |
1087 | 1098 | ||
1088 | SND_SOC_DAPM_PGA_E("OUT1L", ARIZONA_OUTPUT_ENABLES_1, | 1099 | SND_SOC_DAPM_PGA_E("OUT1L", SND_SOC_NOPM, |
1089 | ARIZONA_OUT1L_ENA_SHIFT, 0, NULL, 0, arizona_out_ev, | 1100 | ARIZONA_OUT1L_ENA_SHIFT, 0, NULL, 0, arizona_hp_ev, |
1090 | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMU), | 1101 | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMU), |
1091 | SND_SOC_DAPM_PGA_E("OUT1R", ARIZONA_OUTPUT_ENABLES_1, | 1102 | SND_SOC_DAPM_PGA_E("OUT1R", SND_SOC_NOPM, |
1092 | ARIZONA_OUT1R_ENA_SHIFT, 0, NULL, 0, arizona_out_ev, | 1103 | ARIZONA_OUT1R_ENA_SHIFT, 0, NULL, 0, arizona_hp_ev, |
1093 | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMU), | 1104 | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMU), |
1094 | SND_SOC_DAPM_PGA_E("OUT2L", ARIZONA_OUTPUT_ENABLES_1, | 1105 | SND_SOC_DAPM_PGA_E("OUT2L", ARIZONA_OUTPUT_ENABLES_1, |
1095 | ARIZONA_OUT2L_ENA_SHIFT, 0, NULL, 0, arizona_out_ev, | 1106 | ARIZONA_OUT2L_ENA_SHIFT, 0, NULL, 0, arizona_out_ev, |
diff --git a/sound/soc/codecs/wm5110.c b/sound/soc/codecs/wm5110.c index b6329c8c19df..731884e04776 100644 --- a/sound/soc/codecs/wm5110.c +++ b/sound/soc/codecs/wm5110.c | |||
@@ -213,9 +213,9 @@ ARIZONA_MIXER_CONTROLS("SPKDAT2R", ARIZONA_OUT6RMIX_INPUT_1_SOURCE), | |||
213 | 213 | ||
214 | SOC_SINGLE("HPOUT1 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_1L, | 214 | SOC_SINGLE("HPOUT1 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_1L, |
215 | ARIZONA_OUT1_OSR_SHIFT, 1, 0), | 215 | ARIZONA_OUT1_OSR_SHIFT, 1, 0), |
216 | SOC_SINGLE("OUT2 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_2L, | 216 | SOC_SINGLE("HPOUT2 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_2L, |
217 | ARIZONA_OUT2_OSR_SHIFT, 1, 0), | 217 | ARIZONA_OUT2_OSR_SHIFT, 1, 0), |
218 | SOC_SINGLE("OUT3 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_3L, | 218 | SOC_SINGLE("HPOUT3 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_3L, |
219 | ARIZONA_OUT3_OSR_SHIFT, 1, 0), | 219 | ARIZONA_OUT3_OSR_SHIFT, 1, 0), |
220 | SOC_SINGLE("Speaker High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_4L, | 220 | SOC_SINGLE("Speaker High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_4L, |
221 | ARIZONA_OUT4_OSR_SHIFT, 1, 0), | 221 | ARIZONA_OUT4_OSR_SHIFT, 1, 0), |
@@ -226,9 +226,9 @@ SOC_SINGLE("SPKDAT2 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_6L, | |||
226 | 226 | ||
227 | SOC_DOUBLE_R("HPOUT1 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_1L, | 227 | SOC_DOUBLE_R("HPOUT1 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_1L, |
228 | ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_MUTE_SHIFT, 1, 1), | 228 | ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_MUTE_SHIFT, 1, 1), |
229 | SOC_DOUBLE_R("OUT2 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_2L, | 229 | SOC_DOUBLE_R("HPOUT2 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_2L, |
230 | ARIZONA_DAC_DIGITAL_VOLUME_2R, ARIZONA_OUT2L_MUTE_SHIFT, 1, 1), | 230 | ARIZONA_DAC_DIGITAL_VOLUME_2R, ARIZONA_OUT2L_MUTE_SHIFT, 1, 1), |
231 | SOC_DOUBLE_R("OUT3 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_3L, | 231 | SOC_DOUBLE_R("HPOUT3 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_3L, |
232 | ARIZONA_DAC_DIGITAL_VOLUME_3R, ARIZONA_OUT3L_MUTE_SHIFT, 1, 1), | 232 | ARIZONA_DAC_DIGITAL_VOLUME_3R, ARIZONA_OUT3L_MUTE_SHIFT, 1, 1), |
233 | SOC_DOUBLE_R("Speaker Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_4L, | 233 | SOC_DOUBLE_R("Speaker Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_4L, |
234 | ARIZONA_DAC_DIGITAL_VOLUME_4R, ARIZONA_OUT4L_MUTE_SHIFT, 1, 1), | 234 | ARIZONA_DAC_DIGITAL_VOLUME_4R, ARIZONA_OUT4L_MUTE_SHIFT, 1, 1), |
@@ -240,10 +240,10 @@ SOC_DOUBLE_R("SPKDAT2 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_6L, | |||
240 | SOC_DOUBLE_R_TLV("HPOUT1 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_1L, | 240 | SOC_DOUBLE_R_TLV("HPOUT1 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_1L, |
241 | ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_VOL_SHIFT, | 241 | ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_VOL_SHIFT, |
242 | 0xbf, 0, digital_tlv), | 242 | 0xbf, 0, digital_tlv), |
243 | SOC_DOUBLE_R_TLV("OUT2 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_2L, | 243 | SOC_DOUBLE_R_TLV("HPOUT2 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_2L, |
244 | ARIZONA_DAC_DIGITAL_VOLUME_2R, ARIZONA_OUT2L_VOL_SHIFT, | 244 | ARIZONA_DAC_DIGITAL_VOLUME_2R, ARIZONA_OUT2L_VOL_SHIFT, |
245 | 0xbf, 0, digital_tlv), | 245 | 0xbf, 0, digital_tlv), |
246 | SOC_DOUBLE_R_TLV("OUT3 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_3L, | 246 | SOC_DOUBLE_R_TLV("HPOUT3 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_3L, |
247 | ARIZONA_DAC_DIGITAL_VOLUME_3R, ARIZONA_OUT3L_VOL_SHIFT, | 247 | ARIZONA_DAC_DIGITAL_VOLUME_3R, ARIZONA_OUT3L_VOL_SHIFT, |
248 | 0xbf, 0, digital_tlv), | 248 | 0xbf, 0, digital_tlv), |
249 | SOC_DOUBLE_R_TLV("Speaker Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_4L, | 249 | SOC_DOUBLE_R_TLV("Speaker Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_4L, |
@@ -260,11 +260,11 @@ SOC_DOUBLE_R_RANGE_TLV("HPOUT1 Volume", ARIZONA_OUTPUT_PATH_CONFIG_1L, | |||
260 | ARIZONA_OUTPUT_PATH_CONFIG_1R, | 260 | ARIZONA_OUTPUT_PATH_CONFIG_1R, |
261 | ARIZONA_OUT1L_PGA_VOL_SHIFT, | 261 | ARIZONA_OUT1L_PGA_VOL_SHIFT, |
262 | 0x34, 0x40, 0, ana_tlv), | 262 | 0x34, 0x40, 0, ana_tlv), |
263 | SOC_DOUBLE_R_RANGE_TLV("OUT2 Volume", ARIZONA_OUTPUT_PATH_CONFIG_2L, | 263 | SOC_DOUBLE_R_RANGE_TLV("HPOUT2 Volume", ARIZONA_OUTPUT_PATH_CONFIG_2L, |
264 | ARIZONA_OUTPUT_PATH_CONFIG_2R, | 264 | ARIZONA_OUTPUT_PATH_CONFIG_2R, |
265 | ARIZONA_OUT2L_PGA_VOL_SHIFT, | 265 | ARIZONA_OUT2L_PGA_VOL_SHIFT, |
266 | 0x34, 0x40, 0, ana_tlv), | 266 | 0x34, 0x40, 0, ana_tlv), |
267 | SOC_DOUBLE_R_RANGE_TLV("OUT3 Volume", ARIZONA_OUTPUT_PATH_CONFIG_3L, | 267 | SOC_DOUBLE_R_RANGE_TLV("HPOUT3 Volume", ARIZONA_OUTPUT_PATH_CONFIG_3L, |
268 | ARIZONA_OUTPUT_PATH_CONFIG_3R, | 268 | ARIZONA_OUTPUT_PATH_CONFIG_3R, |
269 | ARIZONA_OUT3L_PGA_VOL_SHIFT, 0x34, 0x40, 0, ana_tlv), | 269 | ARIZONA_OUT3L_PGA_VOL_SHIFT, 0x34, 0x40, 0, ana_tlv), |
270 | 270 | ||
@@ -559,11 +559,11 @@ SND_SOC_DAPM_AIF_IN("AIF3RX1", NULL, 0, | |||
559 | SND_SOC_DAPM_AIF_IN("AIF3RX2", NULL, 0, | 559 | SND_SOC_DAPM_AIF_IN("AIF3RX2", NULL, 0, |
560 | ARIZONA_AIF3_RX_ENABLES, ARIZONA_AIF3RX2_ENA_SHIFT, 0), | 560 | ARIZONA_AIF3_RX_ENABLES, ARIZONA_AIF3RX2_ENA_SHIFT, 0), |
561 | 561 | ||
562 | SND_SOC_DAPM_PGA_E("OUT1L", ARIZONA_OUTPUT_ENABLES_1, | 562 | SND_SOC_DAPM_PGA_E("OUT1L", SND_SOC_NOPM, |
563 | ARIZONA_OUT1L_ENA_SHIFT, 0, NULL, 0, arizona_out_ev, | 563 | ARIZONA_OUT1L_ENA_SHIFT, 0, NULL, 0, arizona_hp_ev, |
564 | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMU), | 564 | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMU), |
565 | SND_SOC_DAPM_PGA_E("OUT1R", ARIZONA_OUTPUT_ENABLES_1, | 565 | SND_SOC_DAPM_PGA_E("OUT1R", SND_SOC_NOPM, |
566 | ARIZONA_OUT1R_ENA_SHIFT, 0, NULL, 0, arizona_out_ev, | 566 | ARIZONA_OUT1R_ENA_SHIFT, 0, NULL, 0, arizona_hp_ev, |
567 | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMU), | 567 | SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMU), |
568 | SND_SOC_DAPM_PGA_E("OUT2L", ARIZONA_OUTPUT_ENABLES_1, | 568 | SND_SOC_DAPM_PGA_E("OUT2L", ARIZONA_OUTPUT_ENABLES_1, |
569 | ARIZONA_OUT2L_ENA_SHIFT, 0, NULL, 0, arizona_out_ev, | 569 | ARIZONA_OUT2L_ENA_SHIFT, 0, NULL, 0, arizona_out_ev, |
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c index ec0efc1443ba..0e8b3aaf6c8d 100644 --- a/sound/soc/codecs/wm8350.c +++ b/sound/soc/codecs/wm8350.c | |||
@@ -1301,7 +1301,7 @@ static irqreturn_t wm8350_hpl_jack_handler(int irq, void *data) | |||
1301 | if (device_may_wakeup(wm8350->dev)) | 1301 | if (device_may_wakeup(wm8350->dev)) |
1302 | pm_wakeup_event(wm8350->dev, 250); | 1302 | pm_wakeup_event(wm8350->dev, 250); |
1303 | 1303 | ||
1304 | schedule_delayed_work(&priv->hpl.work, 200); | 1304 | schedule_delayed_work(&priv->hpl.work, msecs_to_jiffies(200)); |
1305 | 1305 | ||
1306 | return IRQ_HANDLED; | 1306 | return IRQ_HANDLED; |
1307 | } | 1307 | } |
@@ -1318,7 +1318,7 @@ static irqreturn_t wm8350_hpr_jack_handler(int irq, void *data) | |||
1318 | if (device_may_wakeup(wm8350->dev)) | 1318 | if (device_may_wakeup(wm8350->dev)) |
1319 | pm_wakeup_event(wm8350->dev, 250); | 1319 | pm_wakeup_event(wm8350->dev, 250); |
1320 | 1320 | ||
1321 | schedule_delayed_work(&priv->hpr.work, 200); | 1321 | schedule_delayed_work(&priv->hpr.work, msecs_to_jiffies(200)); |
1322 | 1322 | ||
1323 | return IRQ_HANDLED; | 1323 | return IRQ_HANDLED; |
1324 | } | 1324 | } |
diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c index 9bb927325993..a64b93425ae3 100644 --- a/sound/soc/codecs/wm8960.c +++ b/sound/soc/codecs/wm8960.c | |||
@@ -53,8 +53,8 @@ | |||
53 | * using 2 wire for device control, so we cache them instead. | 53 | * using 2 wire for device control, so we cache them instead. |
54 | */ | 54 | */ |
55 | static const struct reg_default wm8960_reg_defaults[] = { | 55 | static const struct reg_default wm8960_reg_defaults[] = { |
56 | { 0x0, 0x0097 }, | 56 | { 0x0, 0x00a7 }, |
57 | { 0x1, 0x0097 }, | 57 | { 0x1, 0x00a7 }, |
58 | { 0x2, 0x0000 }, | 58 | { 0x2, 0x0000 }, |
59 | { 0x3, 0x0000 }, | 59 | { 0x3, 0x0000 }, |
60 | { 0x4, 0x0000 }, | 60 | { 0x4, 0x0000 }, |
@@ -323,8 +323,8 @@ SND_SOC_DAPM_MIXER("Left Input Mixer", WM8960_POWER3, 5, 0, | |||
323 | SND_SOC_DAPM_MIXER("Right Input Mixer", WM8960_POWER3, 4, 0, | 323 | SND_SOC_DAPM_MIXER("Right Input Mixer", WM8960_POWER3, 4, 0, |
324 | wm8960_rin, ARRAY_SIZE(wm8960_rin)), | 324 | wm8960_rin, ARRAY_SIZE(wm8960_rin)), |
325 | 325 | ||
326 | SND_SOC_DAPM_ADC("Left ADC", "Capture", WM8960_POWER2, 3, 0), | 326 | SND_SOC_DAPM_ADC("Left ADC", "Capture", WM8960_POWER1, 3, 0), |
327 | SND_SOC_DAPM_ADC("Right ADC", "Capture", WM8960_POWER2, 2, 0), | 327 | SND_SOC_DAPM_ADC("Right ADC", "Capture", WM8960_POWER1, 2, 0), |
328 | 328 | ||
329 | SND_SOC_DAPM_DAC("Left DAC", "Playback", WM8960_POWER2, 8, 0), | 329 | SND_SOC_DAPM_DAC("Left DAC", "Playback", WM8960_POWER2, 8, 0), |
330 | SND_SOC_DAPM_DAC("Right DAC", "Playback", WM8960_POWER2, 7, 0), | 330 | SND_SOC_DAPM_DAC("Right DAC", "Playback", WM8960_POWER2, 7, 0), |