clk/mmp: use kmemdup rather than duplicating its implementation

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>
This commit is contained in:
Andrzej Hajda 2015-08-07 09:59:16 +02:00 коммит произвёл Stephen Boyd
Родитель 1fb6dd9da6
Коммит e8f35aabae
1 изменённых файлов: 3 добавлений и 4 удалений

Просмотреть файл

@ -469,20 +469,20 @@ struct clk *mmp_clk_register_mix(struct device *dev,
memcpy(&mix->reg_info, &config->reg_info, sizeof(config->reg_info)); memcpy(&mix->reg_info, &config->reg_info, sizeof(config->reg_info));
if (config->table) { if (config->table) {
table_bytes = sizeof(*config->table) * config->table_size; 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) { if (!mix->table) {
pr_err("%s:%s: could not allocate mmp mix table\n", pr_err("%s:%s: could not allocate mmp mix table\n",
__func__, name); __func__, name);
kfree(mix); kfree(mix);
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
} }
memcpy(mix->table, config->table, table_bytes);
mix->table_size = config->table_size; mix->table_size = config->table_size;
} }
if (config->mux_table) { if (config->mux_table) {
table_bytes = sizeof(u32) * num_parents; 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) { if (!mix->mux_table) {
pr_err("%s:%s: could not allocate mmp mix mux-table\n", pr_err("%s:%s: could not allocate mmp mix mux-table\n",
__func__, name); __func__, name);
@ -490,7 +490,6 @@ struct clk *mmp_clk_register_mix(struct device *dev,
kfree(mix); kfree(mix);
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
} }
memcpy(mix->mux_table, config->mux_table, table_bytes);
} }
mix->div_flags = config->div_flags; mix->div_flags = config->div_flags;