[PATCH 1/2] ASoC: SDCA: remove the max count of initialization table

shumingf
2026-03-25T09:20:52Z

From: Shuming Fan <shumingf@realtek.com>

The number of the initialization table may exceed 2048.
Therefore, this patch removes the limitation and allows the driver to
allocate memory dynamically based on the size of the initialization table.

Signed-off-by: Shuming Fan <shumingf@realtek.com>
---
include/sound/sdca_function.h | 5 -----
sound/soc/sdca/sdca_functions.c | 3 ---
2 files changed, 8 deletions(-)

diff --git a/include/sound/sdca_function.h b/include/sound/sdca_function.h
index 79bd5a7a0f88..0e871c786513 100644
--- a/include/sound/sdca_function.h
+++ b/include/sound/sdca_function.h
@@ -26,11 +26,6 @@ struct sdca_function_desc;
*/
#define SDCA_MAX_ENTITY_COUNT 128

-/*
- * Sanity check on number of initialization writes, can be expanded if needed.
- */
-#define SDCA_MAX_INIT_COUNT 2048
-
/*
* The Cluster IDs are 16-bit, so a maximum of 65535 Clusters per
* function can be represented, however limit this to a slightly
diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_functions.c
index 257158bc67ea..0b7d97dcb236 100644
--- a/sound/soc/sdca/sdca_functions.c
+++ b/sound/soc/sdca/sdca_functions.c
@@ -216,9 +216,6 @@ static int find_sdca_init_table(struct device *dev,
} else if (num_init_writes % sizeof(*raw) != 0) {
dev_err(dev, "%pfwP: init table size invalid\n", function_node);
return -EINVAL;
- } else if ((num_init_writes / sizeof(*raw)) > SDCA_MAX_INIT_COUNT) {
- dev_err(dev, "%pfwP: maximum init table size exceeded\n", function_node);
- return -EINVAL;
}

raw = kzalloc(num_init_writes, GFP_KERNEL);
--
2.53.0