ASoC: Intel: avs: Use devm_kstrdup_const
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Wed, 3 Apr 2024 09:31:37 +0000 (11:31 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 3 Apr 2024 10:05:12 +0000 (11:05 +0100)
FW name is constant and we just duplicate it, use const variant of
devm_kstrdup to possibly save a bit of memory.

Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://msgid.link/r/20240403093145.3375857-3-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/avs.h
sound/soc/intel/avs/utils.c

index f80f79415344abde8784ce485ee7345fb8d61b30..9a02e2b528bc57497c270aa66fcab488c67ebac0 100644 (file)
@@ -107,7 +107,7 @@ struct avs_spec {
 };
 
 struct avs_fw_entry {
-       char *name;
+       const char *name;
        const struct firmware *fw;
 
        struct list_head node;
index 82416b86662d86696b8fa78ca794e8c919c90f89..8100c2fa0a7ed10643f8cdb3b4798e6e1c9a223a 100644 (file)
@@ -250,7 +250,7 @@ int avs_request_firmware(struct avs_dev *adev, const struct firmware **fw_p, con
        if (!entry)
                return -ENOMEM;
 
-       entry->name = kstrdup(name, GFP_KERNEL);
+       entry->name = kstrdup_const(name, GFP_KERNEL);
        if (!entry->name) {
                kfree(entry);
                return -ENOMEM;
@@ -258,7 +258,7 @@ int avs_request_firmware(struct avs_dev *adev, const struct firmware **fw_p, con
 
        ret = request_firmware(&entry->fw, name, adev->dev);
        if (ret < 0) {
-               kfree(entry->name);
+               kfree_const(entry->name);
                kfree(entry);
                return ret;
        }
@@ -282,7 +282,7 @@ void avs_release_last_firmware(struct avs_dev *adev)
 
        list_del(&entry->node);
        release_firmware(entry->fw);
-       kfree(entry->name);
+       kfree_const(entry->name);
        kfree(entry);
 }
 
@@ -296,7 +296,7 @@ void avs_release_firmwares(struct avs_dev *adev)
        list_for_each_entry_safe(entry, tmp, &adev->fw_list, node) {
                list_del(&entry->node);
                release_firmware(entry->fw);
-               kfree(entry->name);
+               kfree_const(entry->name);
                kfree(entry);
        }
 }