[ALSA] soc - Clean up with kmemdup()

Clean up by replacing with kmemdup().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c
index e6b9905..7ca0b52 100644
--- a/sound/soc/codecs/wm8731.c
+++ b/sound/soc/codecs/wm8731.c
@@ -543,14 +543,10 @@
 	codec->dapm_event = wm8731_dapm_event;
 	codec->dai = &wm8731_dai;
 	codec->num_dai = 1;
-	codec->reg_cache_size = ARRAY_SIZE(wm8731_reg);
-	codec->reg_cache =
-			kzalloc(sizeof(u16) * ARRAY_SIZE(wm8731_reg), GFP_KERNEL);
+	codec->reg_cache_size = sizeof(wm8731_reg);
+	codec->reg_cache = kmemdup(wm8731_reg, sizeof(wm8731_reg), GFP_KERNEL);
 	if (codec->reg_cache == NULL)
 		return -ENOMEM;
-	memcpy(codec->reg_cache,
-		wm8731_reg, sizeof(u16) * ARRAY_SIZE(wm8731_reg));
-	codec->reg_cache_size = sizeof(u16) * ARRAY_SIZE(wm8731_reg);
 
 	wm8731_reset(codec);
 
@@ -627,12 +623,11 @@
 	client_template.adapter = adap;
 	client_template.addr = addr;
 
-	i2c = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
+	i2c = kmemdup(&client_template, sizeof(client_template), GFP_KERNEL);
 	if (i2c == NULL) {
 		kfree(codec);
 		return -ENOMEM;
 	}
-	memcpy(i2c, &client_template, sizeof(struct i2c_client));
 	i2c_set_clientdata(i2c, codec);
 	codec->control_data = i2c;