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>
        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";