From dd906cc615a5c0f7b95c20200963958c1cc0ea74 Mon Sep 17 00:00:00 2001 From: Pierre-Louis Bossart Date: Mon, 1 Jun 2020 02:21:00 +0800 Subject: soundwire: intel_init: use devm_ allocation Make error handling simpler with devm_ allocation. Signed-off-by: Pierre-Louis Bossart Signed-off-by: Bard Liao Link: https://lore.kernel.org/r/20200531182102.27840-5-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul --- drivers/soundwire/intel_init.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'drivers/soundwire') diff --git a/drivers/soundwire/intel_init.c b/drivers/soundwire/intel_init.c index d6e85e582c9b..57eac5fd4840 100644 --- a/drivers/soundwire/intel_init.c +++ b/drivers/soundwire/intel_init.c @@ -42,9 +42,6 @@ static int sdw_intel_cleanup_pdev(struct sdw_intel_ctx *ctx) link++; } - kfree(ctx->links); - ctx->links = NULL; - return 0; } @@ -96,14 +93,15 @@ static struct sdw_intel_ctx dev_dbg(&adev->dev, "Creating %d SDW Link devices\n", count); - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = devm_kzalloc(&adev->dev, sizeof(*ctx), GFP_KERNEL); if (!ctx) return NULL; ctx->count = count; - ctx->links = kcalloc(ctx->count, sizeof(*ctx->links), GFP_KERNEL); + ctx->links = devm_kcalloc(&adev->dev, ctx->count, + sizeof(*ctx->links), GFP_KERNEL); if (!ctx->links) - goto link_err; + return NULL; link = ctx->links; @@ -146,9 +144,8 @@ static struct sdw_intel_ctx return ctx; pdev_err: + ctx->count = i; sdw_intel_cleanup_pdev(ctx); -link_err: - kfree(ctx); return NULL; } @@ -216,7 +213,6 @@ void *sdw_intel_init(acpi_handle *parent_handle, struct sdw_intel_res *res) void sdw_intel_exit(struct sdw_intel_ctx *ctx) { sdw_intel_cleanup_pdev(ctx); - kfree(ctx); } EXPORT_SYMBOL(sdw_intel_exit); -- cgit v1.2.3