Reset the device before programming the registers or all programming
will be lost as the device resets registers to default settings.

Signed-off-by: Dan Murphy <dmur...@ti.com>
---
 sound/soc/codecs/tlv320adcx140.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/codecs/tlv320adcx140.c b/sound/soc/codecs/tlv320adcx140.c
index fc7616dcf9b5..5cd50d841177 100644
--- a/sound/soc/codecs/tlv320adcx140.c
+++ b/sound/soc/codecs/tlv320adcx140.c
@@ -838,6 +838,10 @@ static int adcx140_codec_probe(struct snd_soc_component 
*component)
 
        bias_cfg = bias_source << ADCX140_MIC_BIAS_SHIFT | vref_source;
 
+       ret = adcx140_reset(adcx140);
+       if (ret)
+               goto out;
+
        pdm_count = device_property_count_u32(adcx140->dev,
                                              "ti,pdm-edge-select");
        if (pdm_count <= ADCX140_NUM_PDM_EDGES && pdm_count > 0) {
@@ -885,10 +889,6 @@ static int adcx140_codec_probe(struct snd_soc_component 
*component)
        if (ret)
                goto out;
 
-       ret = adcx140_reset(adcx140);
-       if (ret)
-               goto out;
-
        if (adcx140->supply_areg == NULL)
                sleep_cfg_val |= ADCX140_AREG_INTERNAL;
 
-- 
2.28.0

Reply via email to