mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
clk: convert clock name allocations to kstrdup_const
Clock subsystem frequently performs duplication of strings located in read-only memory section. Replacing kstrdup by kstrdup_const allows to avoid such operations. Signed-off-by: Andrzej Hajda <[email protected]> Cc: Marek Szyprowski <[email protected]> Cc: Kyungmin Park <[email protected]> Cc: Mike Turquette <[email protected]> Cc: Alexander Viro <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Pekka Enberg <[email protected]> Cc: David Rientjes <[email protected]> Cc: Joonsoo Kim <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Greg KH <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
dfeb0750b6
commit
612936f212
1 changed files with 6 additions and 6 deletions
|
|
@ -2048,7 +2048,7 @@ struct clk *clk_register(struct device *dev, struct clk_hw *hw)
|
|||
goto fail_out;
|
||||
}
|
||||
|
||||
clk->name = kstrdup(hw->init->name, GFP_KERNEL);
|
||||
clk->name = kstrdup_const(hw->init->name, GFP_KERNEL);
|
||||
if (!clk->name) {
|
||||
pr_err("%s: could not allocate clk->name\n", __func__);
|
||||
ret = -ENOMEM;
|
||||
|
|
@ -2075,7 +2075,7 @@ struct clk *clk_register(struct device *dev, struct clk_hw *hw)
|
|||
|
||||
/* copy each string name in case parent_names is __initdata */
|
||||
for (i = 0; i < clk->num_parents; i++) {
|
||||
clk->parent_names[i] = kstrdup(hw->init->parent_names[i],
|
||||
clk->parent_names[i] = kstrdup_const(hw->init->parent_names[i],
|
||||
GFP_KERNEL);
|
||||
if (!clk->parent_names[i]) {
|
||||
pr_err("%s: could not copy parent_names\n", __func__);
|
||||
|
|
@ -2090,10 +2090,10 @@ struct clk *clk_register(struct device *dev, struct clk_hw *hw)
|
|||
|
||||
fail_parent_names_copy:
|
||||
while (--i >= 0)
|
||||
kfree(clk->parent_names[i]);
|
||||
kfree_const(clk->parent_names[i]);
|
||||
kfree(clk->parent_names);
|
||||
fail_parent_names:
|
||||
kfree(clk->name);
|
||||
kfree_const(clk->name);
|
||||
fail_name:
|
||||
kfree(clk);
|
||||
fail_out:
|
||||
|
|
@ -2112,10 +2112,10 @@ static void __clk_release(struct kref *ref)
|
|||
|
||||
kfree(clk->parents);
|
||||
while (--i >= 0)
|
||||
kfree(clk->parent_names[i]);
|
||||
kfree_const(clk->parent_names[i]);
|
||||
|
||||
kfree(clk->parent_names);
|
||||
kfree(clk->name);
|
||||
kfree_const(clk->name);
|
||||
kfree(clk);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue