[ALSA] ASoC WM9712 kmemdup
authorGraeme Gregory <gg@opensource.wolfsonmicro.com>
Mon, 16 Apr 2007 13:35:46 +0000 (15:35 +0200)
committerJaroslav Kysela <perex@suse.cz>
Fri, 11 May 2007 14:56:00 +0000 (16:56 +0200)
This patch creates the WM9712 codec register cache using kmemdup instead
of doing a kzalloc followed by a memcpy.

Signed-off-by: Graeme Gregory <gg@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/soc/codecs/wm9712.c

index ee7a691a9ba163b0fff87a07aad33ea3cf9d84ca..264413a00cac530b907b2e1959a893f0dde8d4d7 100644 (file)
@@ -676,14 +676,13 @@ static int wm9712_soc_probe(struct platform_device *pdev)
        codec = socdev->codec;
        mutex_init(&codec->mutex);
 
-       codec->reg_cache =
-               kzalloc(sizeof(u16) * ARRAY_SIZE(wm9712_reg), GFP_KERNEL);
+       codec->reg_cache = kmemdup(wm9712_reg, sizeof(wm9712_reg), GFP_KERNEL);
+
        if (codec->reg_cache == NULL) {
                ret = -ENOMEM;
                goto cache_err;
        }
-       memcpy(codec->reg_cache, wm9712_reg, sizeof(u16) * ARRAY_SIZE(wm9712_reg));
-       codec->reg_cache_size = sizeof(u16) * ARRAY_SIZE(wm9712_reg);
+       codec->reg_cache_size = sizeof(wm9712_reg);
        codec->reg_cache_step = 2;
 
        codec->name = "WM9712";