diff options
author | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | 2016-02-16 18:29:01 +0000 |
---|---|---|
committer | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | 2016-02-16 18:29:01 +0000 |
commit | 7088059db53c99f5ca57469eb347c78f9f7e8b62 (patch) | |
tree | 5942fbe4769477e6ad6375357f526000124feed7 | |
parent | 79ef143c925e5151433fd6dbba7c8d7300e6a511 (diff) |
ASoC: codec: msm8x16: enable regulators before accessing registersrelease/qcomlt-4.4-srini
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-rw-r--r-- | sound/soc/codecs/msm8x16-wcd.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/sound/soc/codecs/msm8x16-wcd.c b/sound/soc/codecs/msm8x16-wcd.c index 253bfe80859bf..77a13cffbb148 100644 --- a/sound/soc/codecs/msm8x16-wcd.c +++ b/sound/soc/codecs/msm8x16-wcd.c @@ -344,19 +344,6 @@ static int msm8x16_wcd_codec_probe(struct snd_soc_codec *codec) int err; snd_soc_codec_set_drvdata(codec, chip); - chip->pmic_rev = snd_soc_read(codec, MSM8X16_WCD_A_DIGITAL_REVISION1); - dev_info(codec->dev, "%s :PMIC REV: %d", __func__, - chip->pmic_rev); - - chip->codec_version = snd_soc_read(codec, - MSM8X16_WCD_A_DIGITAL_PERPH_SUBTYPE); - dev_info(codec->dev, "%s :CODEC Version: %d", __func__, - chip->codec_version); - - msm8x16_wcd_device_up(codec); - - /* Set initial cap mode */ - msm8x16_wcd_configure_cap(codec, false, false); regulator_set_voltage(chip->vddio, 1800000, 1800000); err = regulator_enable(chip->vddio); @@ -377,6 +364,21 @@ static int msm8x16_wcd_codec_probe(struct snd_soc_codec *codec) dev_err(codec->dev, "failed to enable micbias regulator\n"); return err; } + + chip->pmic_rev = snd_soc_read(codec, MSM8X16_WCD_A_DIGITAL_REVISION1); + dev_info(codec->dev, "%s :PMIC REV: %d", __func__, + chip->pmic_rev); + + chip->codec_version = snd_soc_read(codec, + MSM8X16_WCD_A_DIGITAL_PERPH_SUBTYPE); + dev_info(codec->dev, "%s :CODEC Version: %d", __func__, + chip->codec_version); + + msm8x16_wcd_device_up(codec); + + /* Set initial cap mode */ + msm8x16_wcd_configure_cap(codec, false, false); + msm8x16_wcd_codec_enable_clock_block(codec, 1); return 0; |