ASoC: Convert WM2000 to devm_kzalloc()
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 2 Dec 2011 21:28:31 +0000 (21:28 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 3 Dec 2011 21:35:04 +0000 (21:35 +0000)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm2000.c

index 01b1abe7a36b1a801abe2f8cd78bc51d36f0bb8c..2726f6651990bea1ba6db0d0f2f2cb47c97a8864 100644 (file)
@@ -740,7 +740,8 @@ static int __devinit wm2000_i2c_probe(struct i2c_client *i2c,
                return -EINVAL;
        }
 
-       wm2000 = kzalloc(sizeof(struct wm2000_priv), GFP_KERNEL);
+       wm2000 = devm_kzalloc(&i2c->dev, sizeof(struct wm2000_priv),
+                             GFP_KERNEL);
        if (wm2000 == NULL) {
                dev_err(&i2c->dev, "Unable to allocate private data\n");
                return -ENOMEM;
@@ -779,7 +780,9 @@ static int __devinit wm2000_i2c_probe(struct i2c_client *i2c,
 
        /* Pre-cook the concatenation of the register address onto the image */
        wm2000->anc_download_size = fw->size + 2;
-       wm2000->anc_download = kmalloc(wm2000->anc_download_size, GFP_KERNEL);
+       wm2000->anc_download = devm_kzalloc(&i2c->dev,
+                                           wm2000->anc_download_size,
+                                           GFP_KERNEL);
        if (wm2000->anc_download == NULL) {
                dev_err(&i2c->dev, "Out of memory\n");
                ret = -ENOMEM;
@@ -810,7 +813,6 @@ static int __devinit wm2000_i2c_probe(struct i2c_client *i2c,
 err_fw:
        release_firmware(fw);
 err:
-       kfree(wm2000);
        return ret;
 }
 
@@ -821,8 +823,6 @@ static __devexit int wm2000_i2c_remove(struct i2c_client *i2c)
        wm2000_anc_transition(wm2000, ANC_OFF);
 
        wm2000_i2c = NULL;
-       kfree(wm2000->anc_download);
-       kfree(wm2000);
 
        return 0;
 }