Make a substitution of kzalloc with devm_kzalloc to simplify the ipa_probe() process.
Signed-off-by: Wang Wenhu <wenhu.w...@vivo.com> Cc: Alex Elder <el...@kernel.org> --- drivers/net/ipa/ipa_clock.c | 7 ++----- drivers/net/ipa/ipa_main.c | 7 ++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/net/ipa/ipa_clock.c b/drivers/net/ipa/ipa_clock.c index 374491ea11cf..ddbd687fe64b 100644 --- a/drivers/net/ipa/ipa_clock.c +++ b/drivers/net/ipa/ipa_clock.c @@ -276,7 +276,7 @@ struct ipa_clock *ipa_clock_init(struct device *dev) goto err_clk_put; } - clock = kzalloc(sizeof(*clock), GFP_KERNEL); + clock = devm_kzalloc(dev, sizeof(*clock), GFP_KERNEL); if (!clock) { ret = -ENOMEM; goto err_clk_put; @@ -285,15 +285,13 @@ struct ipa_clock *ipa_clock_init(struct device *dev) ret = ipa_interconnect_init(clock, dev); if (ret) - goto err_kfree; + goto err_clk_put; mutex_init(&clock->mutex); atomic_set(&clock->count, 0); return clock; -err_kfree: - kfree(clock); err_clk_put: clk_put(clk); @@ -308,6 +306,5 @@ void ipa_clock_exit(struct ipa_clock *clock) WARN_ON(atomic_read(&clock->count) != 0); mutex_destroy(&clock->mutex); ipa_interconnect_exit(clock); - kfree(clock); clk_put(clk); } diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 28998dcce3d2..b7b348b863f7 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -760,7 +760,7 @@ static int ipa_probe(struct platform_device *pdev) } /* Allocate and initialize the IPA structure */ - ipa = kzalloc(sizeof(*ipa), GFP_KERNEL); + ipa = devm_kzalloc(dev, sizeof(*ipa), GFP_KERNEL); if (!ipa) { ret = -ENOMEM; goto err_wakeup_source_unregister; @@ -776,7 +776,7 @@ static int ipa_probe(struct platform_device *pdev) ret = ipa_reg_init(ipa); if (ret) - goto err_kfree_ipa; + goto err_wakeup_source_unregister; ret = ipa_mem_init(ipa, data->mem_count, data->mem_data); if (ret) @@ -848,8 +848,6 @@ static int ipa_probe(struct platform_device *pdev) ipa_mem_exit(ipa); err_reg_exit: ipa_reg_exit(ipa); -err_kfree_ipa: - kfree(ipa); err_wakeup_source_unregister: wakeup_source_unregister(wakeup_source); err_clock_exit: @@ -885,7 +883,6 @@ static int ipa_remove(struct platform_device *pdev) gsi_exit(&ipa->gsi); ipa_mem_exit(ipa); ipa_reg_exit(ipa); - kfree(ipa); wakeup_source_unregister(wakeup_source); ipa_clock_exit(clock); rproc_put(rproc); -- 2.17.1