mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
soundwire: qcom: Allocate sruntime array dynamically
Instead of sizing sruntime[] with a hardcoded SWRM_MAX_DAIS constant, allocate it at probe time once the actual port count is known from hardware. This removes the need to keep the constant in sync with dt-binding limits and naturally supports any future port count increase. Reported-by: sashiko-bot <sashiko-bot@kernel.org> Assisted-by: Claude Sonnet 4.6 Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Link: https://patch.msgid.link/20260701193006.4113-3-srinivas.kandagatla@oss.qualcomm.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
6ccec91c35
commit
4f9df964ba
|
|
@ -134,7 +134,6 @@
|
|||
#define TIMEOUT_MS 100
|
||||
#define QCOM_SWRM_MAX_RD_LEN 0x1
|
||||
#define DEFAULT_CLK_FREQ 9600000
|
||||
#define SWRM_MAX_DAIS 0xF
|
||||
#define SWR_INVALID_PARAM 0xFF
|
||||
#define SWR_HSTOP_MAX_VAL 0xF
|
||||
#define SWR_HSTART_MIN_VAL 0x0
|
||||
|
|
@ -215,7 +214,7 @@ struct qcom_swrm_ctrl {
|
|||
u8 wcmd_id;
|
||||
/* Port numbers are 1 - 14 */
|
||||
struct qcom_swrm_port_config *pconfig;
|
||||
struct sdw_stream_runtime *sruntime[SWRM_MAX_DAIS];
|
||||
struct sdw_stream_runtime **sruntime;
|
||||
enum sdw_slave_status status[SDW_MAX_DEVICES + 1];
|
||||
int (*reg_read)(struct qcom_swrm_ctrl *ctrl, int reg, u32 *val);
|
||||
int (*reg_write)(struct qcom_swrm_ctrl *ctrl, int reg, int val);
|
||||
|
|
@ -1384,6 +1383,10 @@ static int qcom_swrm_register_dais(struct qcom_swrm_ctrl *ctrl)
|
|||
struct device *dev = ctrl->dev;
|
||||
int i;
|
||||
|
||||
ctrl->sruntime = devm_kcalloc(dev, num_dais, sizeof(*ctrl->sruntime), GFP_KERNEL);
|
||||
if (!ctrl->sruntime)
|
||||
return -ENOMEM;
|
||||
|
||||
/* PDM dais are only tested for now */
|
||||
dais = devm_kcalloc(dev, num_dais, sizeof(*dais), GFP_KERNEL);
|
||||
if (!dais)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user