clk/mmp: use kmemdup rather than duplicating its implementation
authorAndrzej Hajda <a.hajda@samsung.com>
Fri, 7 Aug 2015 07:59:16 +0000 (09:59 +0200)
committerStephen Boyd <sboyd@codeaurora.org>
Fri, 7 Aug 2015 22:16:28 +0000 (15:16 -0700)
The patch was generated using fixed coccinelle semantic patch
scripts/coccinelle/api/memdup.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2014320

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/mmp/clk-mix.c

index 665cb6794639606595024287a6d38e04592b3669..33834105a09f656b5ffdfea63df1f570f78fe3a2 100644 (file)
@@ -469,20 +469,20 @@ struct clk *mmp_clk_register_mix(struct device *dev,
        memcpy(&mix->reg_info, &config->reg_info, sizeof(config->reg_info));
        if (config->table) {
                table_bytes = sizeof(*config->table) * config->table_size;
-               mix->table = kzalloc(table_bytes, GFP_KERNEL);
+               mix->table = kmemdup(config->table, table_bytes, GFP_KERNEL);
                if (!mix->table) {
                        pr_err("%s:%s: could not allocate mmp mix table\n",
                                __func__, name);
                        kfree(mix);
                        return ERR_PTR(-ENOMEM);
                }
-               memcpy(mix->table, config->table, table_bytes);
                mix->table_size = config->table_size;
        }
 
        if (config->mux_table) {
                table_bytes = sizeof(u32) * num_parents;
-               mix->mux_table = kzalloc(table_bytes, GFP_KERNEL);
+               mix->mux_table = kmemdup(config->mux_table, table_bytes,
+                                        GFP_KERNEL);
                if (!mix->mux_table) {
                        pr_err("%s:%s: could not allocate mmp mix mux-table\n",
                                __func__, name);
@@ -490,7 +490,6 @@ struct clk *mmp_clk_register_mix(struct device *dev,
                        kfree(mix);
                        return ERR_PTR(-ENOMEM);
                }
-               memcpy(mix->mux_table, config->mux_table, table_bytes);
        }
 
        mix->div_flags = config->div_flags;