ASoC: twl4030: Remove reset registers functionality
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 3 Jan 2014 13:27:51 +0000 (15:27 +0200)
committerMark Brown <broonie@linaro.org>
Wed, 8 Jan 2014 12:48:53 +0000 (12:48 +0000)
The register states now tracked by the regmap implementation in the core which
makes the reset registers functionality 'redundant' since we know the state
of the registers now all the time.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
include/linux/i2c/twl.h
sound/soc/codecs/twl4030.c

index 2937a94..ade1c06 100644 (file)
@@ -670,7 +670,6 @@ struct twl4030_codec_data {
        unsigned int digimic_delay; /* in ms */
        unsigned int ramp_delay_value;
        unsigned int offset_cncl_path;
-       unsigned int reset_registers:1;
        unsigned int hs_extmute:1;
        int hs_extmute_gpio;
 };
index 7b732ab..ab2f222 100644 (file)
@@ -268,17 +268,6 @@ static void twl4030_codec_enable(struct snd_soc_codec *codec, int enable)
        udelay(10);
 }
 
-static inline void twl4030_reset_registers(struct snd_soc_codec *codec)
-{
-       int i;
-
-       /* set all audio section registers to reasonable defaults */
-       for (i = TWL4030_REG_OPTION; i <= TWL4030_REG_MISC_SET_2; i++)
-               if (i != TWL4030_REG_APLL_CTL)
-                       twl4030_write(codec, i, twl4030_reg[i]);
-
-}
-
 static void twl4030_setup_pdata_of(struct twl4030_codec_data *pdata,
                                   struct device_node *node)
 {
@@ -359,10 +348,6 @@ static void twl4030_init_chip(struct snd_soc_codec *codec)
                }
        }
 
-       /* Reset registers, if no setup data or if instructed to do so */
-       if (!pdata || (pdata && pdata->reset_registers))
-               twl4030_reset_registers(codec);
-
        /* Refresh APLL_CTL register from HW */
        twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, &byte,
                            TWL4030_REG_APLL_CTL);
@@ -2293,8 +2278,6 @@ static int twl4030_soc_remove(struct snd_soc_codec *codec)
        struct twl4030_priv *twl4030 = snd_soc_codec_get_drvdata(codec);
        struct twl4030_codec_data *pdata = twl4030->pdata;
 
-       /* Reset registers to their chip default before leaving */
-       twl4030_reset_registers(codec);
        twl4030_set_bias_level(codec, SND_SOC_BIAS_OFF);
 
        if (pdata && pdata->hs_extmute && gpio_is_valid(pdata->hs_extmute_gpio))