mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-06 05:13:18 +00:00
ASoC: qcom: topology: Simplify with cleanup.h
Allocate memory, which is being freed at end of the scope, with scoped/cleanup.h to reduce number of error paths and make code a bit simpler. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://patch.msgid.link/20240701171917.596173-2-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
d0f4ce8a28
commit
a8915e2fe8
@ -1,6 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
// Copyright (c) 2020, Linaro Limited
|
||||
|
||||
#include <linux/cleanup.h>
|
||||
#include <sound/soc.h>
|
||||
#include <sound/soc-dapm.h>
|
||||
#include <sound/pcm.h>
|
||||
@ -1288,18 +1289,19 @@ int audioreach_tplg_init(struct snd_soc_component *component)
|
||||
struct snd_soc_card *card = component->card;
|
||||
struct device *dev = component->dev;
|
||||
const struct firmware *fw;
|
||||
char *tplg_fw_name;
|
||||
int ret;
|
||||
|
||||
/* Inline with Qualcomm UCM configs and linux-firmware path */
|
||||
tplg_fw_name = kasprintf(GFP_KERNEL, "qcom/%s/%s-tplg.bin", card->driver_name, card->name);
|
||||
char *tplg_fw_name __free(kfree) = kasprintf(GFP_KERNEL, "qcom/%s/%s-tplg.bin",
|
||||
card->driver_name,
|
||||
card->name);
|
||||
if (!tplg_fw_name)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = request_firmware(&fw, tplg_fw_name, dev);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "tplg firmware loading %s failed %d\n", tplg_fw_name, ret);
|
||||
goto err;
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = snd_soc_tplg_component_load(component, &audioreach_tplg_ops, fw);
|
||||
@ -1309,8 +1311,6 @@ int audioreach_tplg_init(struct snd_soc_component *component)
|
||||
}
|
||||
|
||||
release_firmware(fw);
|
||||
err:
|
||||
kfree(tplg_fw_name);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user