[ALSA] soc - Clean up with kmemdup()
authorTakashi Iwai <tiwai@suse.de>
Mon, 5 Feb 2007 13:56:20 +0000 (14:56 +0100)
committerJaroslav Kysela <perex@suse.cz>
Fri, 9 Feb 2007 08:03:56 +0000 (09:03 +0100)
Clean up by replacing with kmemdup().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/soc/codecs/wm8731.c
sound/soc/codecs/wm8750.c
sound/soc/soc-dapm.c

index e6b990507df24b293d03a169a6efe56a088d3ec9..7ca0b5268289e9e6260bf620f814dc24c2718368 100644 (file)
@@ -543,14 +543,10 @@ static int wm8731_init(struct snd_soc_device *socdev)
        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 @@ static int wm8731_codec_probe(struct i2c_adapter *adap, int addr, int kind)
        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;
 
index c1ffb61ef7f79cb3c717b905e2c1ecb43567b4d1..7073e8e294fc5fdfdf5f0c6ea97f8811e98bcd99 100644 (file)
@@ -807,15 +807,10 @@ static int wm8750_init(struct snd_soc_device *socdev)
        codec->dapm_event = wm8750_dapm_event;
        codec->dai = &wm8750_dai;
        codec->num_dai = 1;
-       codec->reg_cache_size = ARRAY_SIZE(wm8750_reg);
-
-       codec->reg_cache =
-                       kzalloc(sizeof(u16) * ARRAY_SIZE(wm8750_reg), GFP_KERNEL);
+       codec->reg_cache_size = sizeof(wm8750_reg);
+       codec->reg_cache = kmemdup(wm8750_reg, sizeof(wm8750_reg), GFP_KRENEL);
        if (codec->reg_cache == NULL)
                return -ENOMEM;
-       memcpy(codec->reg_cache, wm8750_reg,
-               sizeof(u16) * ARRAY_SIZE(wm8750_reg));
-       codec->reg_cache_size = sizeof(u16) * ARRAY_SIZE(wm8750_reg);
 
        wm8750_reset(codec);
 
@@ -900,12 +895,11 @@ static int wm8750_codec_probe(struct i2c_adapter *adap, int addr, int kind)
        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;
 
index d0162a4cb7fd2df95c8c163fd54ecbb84dfd8185..7caf8c7b0ac5063c14a20784011de0951047e5c9 100644 (file)
@@ -87,16 +87,10 @@ module_param(dapm_status, int, 0);
 MODULE_PARM_DESC(dapm_status, "enable DPM sysfs entries");
 
 /* create a new dapm widget */
-static struct snd_soc_dapm_widget *dapm_cnew_widget(
+static inline struct snd_soc_dapm_widget *dapm_cnew_widget(
        const struct snd_soc_dapm_widget *_widget)
 {
-       struct snd_soc_dapm_widget* widget;
-       widget = kmalloc(sizeof(struct snd_soc_dapm_widget), GFP_KERNEL);
-       if (!widget)
-               return NULL;
-
-       memcpy(widget, _widget, sizeof(struct snd_soc_dapm_widget));
-       return widget;
+       return kmemdup(_widget, sizeof(*_widget), GFP_KERNEL);
 }
 
 /* set up initial codec paths */