aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-11-04 01:04:22 -0500
committerMark Brown <broonie@linaro.org>2013-11-04 01:04:22 -0500
commitf027ac7a72f6ad0bc1a138a2464a6b7af4436fb2 (patch)
tree42ef4d51581e6f181f12b51b493ffb54e0e46a71
parent1c2fa548bf731ba1a076decbf1c494221a906baf (diff)
parentae2ff9f6c529ba28adea906037a93fd14e46e052 (diff)
Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next
-rw-r--r--sound/soc/codecs/wm8962.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 2bf9ee7c5407..3a2f96c5442c 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -1758,6 +1758,9 @@ SOC_DOUBLE_R_TLV("EQ4 Volume", WM8962_EQ3, WM8962_EQ23,
1758 WM8962_EQL_B4_GAIN_SHIFT, 31, 0, eq_tlv), 1758 WM8962_EQL_B4_GAIN_SHIFT, 31, 0, eq_tlv),
1759SOC_DOUBLE_R_TLV("EQ5 Volume", WM8962_EQ3, WM8962_EQ23, 1759SOC_DOUBLE_R_TLV("EQ5 Volume", WM8962_EQ3, WM8962_EQ23,
1760 WM8962_EQL_B5_GAIN_SHIFT, 31, 0, eq_tlv), 1760 WM8962_EQL_B5_GAIN_SHIFT, 31, 0, eq_tlv),
1761SND_SOC_BYTES("EQL Coefficients", WM8962_EQ4, 18),
1762SND_SOC_BYTES("EQR Coefficients", WM8962_EQ24, 18),
1763
1761 1764
1762SOC_SINGLE("3D Switch", WM8962_THREED1, 0, 1, 0), 1765SOC_SINGLE("3D Switch", WM8962_THREED1, 0, 1, 0),
1763SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA), 1766SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA),
@@ -1775,6 +1778,11 @@ WM8962_DSP2_ENABLE("HPF2 Switch", WM8962_HPF2_ENA_SHIFT),
1775SND_SOC_BYTES("HPF Coefficients", WM8962_LHPF2, 1), 1778SND_SOC_BYTES("HPF Coefficients", WM8962_LHPF2, 1),
1776WM8962_DSP2_ENABLE("HD Bass Switch", WM8962_HDBASS_ENA_SHIFT), 1779WM8962_DSP2_ENABLE("HD Bass Switch", WM8962_HDBASS_ENA_SHIFT),
1777SND_SOC_BYTES("HD Bass Coefficients", WM8962_HDBASS_AI_1, 30), 1780SND_SOC_BYTES("HD Bass Coefficients", WM8962_HDBASS_AI_1, 30),
1781
1782SOC_DOUBLE("ALC Switch", WM8962_ALC1, WM8962_ALCL_ENA_SHIFT,
1783 WM8962_ALCR_ENA_SHIFT, 1, 0),
1784SND_SOC_BYTES_MASK("ALC Coefficients", WM8962_ALC1, 4,
1785 WM8962_ALCL_ENA_MASK | WM8962_ALCR_ENA_MASK),
1778}; 1786};
1779 1787
1780static const struct snd_kcontrol_new wm8962_spk_mono_controls[] = { 1788static const struct snd_kcontrol_new wm8962_spk_mono_controls[] = {
@@ -3616,28 +3624,28 @@ static int wm8962_i2c_probe(struct i2c_client *i2c,
3616 0); 3624 0);
3617 3625
3618 /* Apply static configuration for GPIOs */ 3626 /* Apply static configuration for GPIOs */
3619 for (i = 0; i < ARRAY_SIZE(pdata->gpio_init); i++) 3627 for (i = 0; i < ARRAY_SIZE(wm8962->pdata.gpio_init); i++)
3620 if (pdata->gpio_init[i]) { 3628 if (wm8962->pdata.gpio_init[i]) {
3621 wm8962_set_gpio_mode(wm8962, i + 1); 3629 wm8962_set_gpio_mode(wm8962, i + 1);
3622 regmap_write(wm8962->regmap, 0x200 + i, 3630 regmap_write(wm8962->regmap, 0x200 + i,
3623 pdata->gpio_init[i] & 0xffff); 3631 wm8962->pdata.gpio_init[i] & 0xffff);
3624 } 3632 }
3625 3633
3626 3634
3627 /* Put the speakers into mono mode? */ 3635 /* Put the speakers into mono mode? */
3628 if (pdata->spk_mono) 3636 if (wm8962->pdata.spk_mono)
3629 regmap_update_bits(wm8962->regmap, WM8962_CLASS_D_CONTROL_2, 3637 regmap_update_bits(wm8962->regmap, WM8962_CLASS_D_CONTROL_2,
3630 WM8962_SPK_MONO_MASK, WM8962_SPK_MONO); 3638 WM8962_SPK_MONO_MASK, WM8962_SPK_MONO);
3631 3639
3632 /* Micbias setup, detection enable and detection 3640 /* Micbias setup, detection enable and detection
3633 * threasholds. */ 3641 * threasholds. */
3634 if (pdata->mic_cfg) 3642 if (wm8962->pdata.mic_cfg)
3635 regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4, 3643 regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4,
3636 WM8962_MICDET_ENA | 3644 WM8962_MICDET_ENA |
3637 WM8962_MICDET_THR_MASK | 3645 WM8962_MICDET_THR_MASK |
3638 WM8962_MICSHORT_THR_MASK | 3646 WM8962_MICSHORT_THR_MASK |
3639 WM8962_MICBIAS_LVL, 3647 WM8962_MICBIAS_LVL,
3640 pdata->mic_cfg); 3648 wm8962->pdata.mic_cfg);
3641 3649
3642 /* Latch volume update bits */ 3650 /* Latch volume update bits */
3643 regmap_update_bits(wm8962->regmap, WM8962_LEFT_INPUT_VOLUME, 3651 regmap_update_bits(wm8962->regmap, WM8962_LEFT_INPUT_VOLUME,
@@ -3682,7 +3690,7 @@ static int wm8962_i2c_probe(struct i2c_client *i2c,
3682 } 3690 }
3683 3691
3684 if (wm8962->irq) { 3692 if (wm8962->irq) {
3685 if (pdata->irq_active_low) { 3693 if (wm8962->pdata.irq_active_low) {
3686 trigger = IRQF_TRIGGER_LOW; 3694 trigger = IRQF_TRIGGER_LOW;
3687 irq_pol = WM8962_IRQ_POL; 3695 irq_pol = WM8962_IRQ_POL;
3688 } else { 3696 } else {