ASoC: Set sgtl5000->ldo in ldo_regulator_register
authorAxel Lin <axel.lin@gmail.com>
Thu, 20 Oct 2011 10:32:59 +0000 (18:32 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 21 Oct 2011 08:55:43 +0000 (09:55 +0100)
Otherwise calling ldo_regulator_remove() does not unregister regulator
and free memories.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/sgtl5000.c

index 3637a62ddeb425ed3414230936df60bef9808a6d..83950022b96ebef9e219ff73b5c37d7a263a8e33 100644 (file)
@@ -806,6 +806,7 @@ static int ldo_regulator_register(struct snd_soc_codec *codec,
                                int voltage)
 {
        struct ldo_regulator *ldo;
+       struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec);
 
        ldo = kzalloc(sizeof(struct ldo_regulator), GFP_KERNEL);
 
@@ -840,6 +841,7 @@ static int ldo_regulator_register(struct snd_soc_codec *codec,
 
                return ret;
        }
+       sgtl5000->ldo = ldo;
 
        return 0;
 }