ASoC: Use devm_kzalloc() in wm5100
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 24 Nov 2011 18:28:51 +0000 (18:28 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 25 Nov 2011 13:03:25 +0000 (13:03 +0000)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm5100.c

index 6c79d97ba18129c24e6e1499decbc1ea2705ab19..844d5d287976b4ac6edd8864a5ef1d275e3e7ee3 100644 (file)
@@ -2607,7 +2607,8 @@ static __devinit int wm5100_i2c_probe(struct i2c_client *i2c,
        unsigned int reg;
        int ret, i;
 
-       wm5100 = kzalloc(sizeof(struct wm5100_priv), GFP_KERNEL);
+       wm5100 = devm_kzalloc(&i2c->dev, sizeof(struct wm5100_priv),
+                             GFP_KERNEL);
        if (wm5100 == NULL)
                return -ENOMEM;
 
@@ -2616,7 +2617,7 @@ static __devinit int wm5100_i2c_probe(struct i2c_client *i2c,
                ret = PTR_ERR(wm5100->regmap);
                dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
                        ret);
-               goto err_alloc;
+               goto err;
        }
 
        for (i = 0; i < ARRAY_SIZE(wm5100->fll); i++)
@@ -2774,8 +2775,7 @@ err_core:
                            wm5100->core_supplies);
 err_regmap:
        regmap_exit(wm5100->regmap);
-err_alloc:
-       kfree(wm5100);
+err:
        return ret;
 }
 
@@ -2799,7 +2799,6 @@ static __devexit int wm5100_i2c_remove(struct i2c_client *client)
        regulator_bulk_free(ARRAY_SIZE(wm5100->core_supplies),
                            wm5100->core_supplies);
        regmap_exit(wm5100->regmap);
-       kfree(wm5100);
 
        return 0;
 }