asoc: lpass-cdc: Update swr pdev initialize order

During sound card register init call, if swr pdev
is not initialized yet respective soundwire port
config is not updated to soundwire controller device.
In macro drivers, update swr pdev into macro private
data prior to platform device add.

Change-Id: Ifa67471cfc7a10b102b573df6285e598bb0b5e5e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
This commit is contained in:
Laxminath Kasam
2021-04-06 18:23:30 +05:30
committed by Gerrit - the friendly Code Review server
parent 195771b877
commit 01756036b5
8 changed files with 101 additions and 109 deletions

View File

@@ -2929,6 +2929,23 @@ static void lpass_cdc_wsa2_macro_add_child_devices(struct work_struct *work)
__func__, ctrl_num);
goto fail_pdev_add;
}
temp = krealloc(swr_ctrl_data,
(ctrl_num + 1) * sizeof(
struct lpass_cdc_wsa2_macro_swr_ctrl_data),
GFP_KERNEL);
if (!temp) {
dev_err(&pdev->dev, "out of memory\n");
ret = -ENOMEM;
goto fail_pdev_add;
}
swr_ctrl_data = temp;
swr_ctrl_data[ctrl_num].wsa2_swr_pdev = pdev;
ctrl_num++;
dev_dbg(&pdev->dev,
"%s: Added soundwire ctrl device(s)\n",
__func__);
wsa2_priv->swr_ctrl_data = swr_ctrl_data;
}
ret = platform_device_add(pdev);
@@ -2939,24 +2956,6 @@ static void lpass_cdc_wsa2_macro_add_child_devices(struct work_struct *work)
goto fail_pdev_add;
}
if (!strcmp(node->name, "wsa2_swr_master")) {
temp = krealloc(swr_ctrl_data,
(ctrl_num + 1) * sizeof(
struct lpass_cdc_wsa2_macro_swr_ctrl_data),
GFP_KERNEL);
if (!temp) {
dev_err(&pdev->dev, "out of memory\n");
ret = -ENOMEM;
goto err;
}
swr_ctrl_data = temp;
swr_ctrl_data[ctrl_num].wsa2_swr_pdev = pdev;
ctrl_num++;
dev_dbg(&pdev->dev,
"%s: Added soundwire ctrl device(s)\n",
__func__);
wsa2_priv->swr_ctrl_data = swr_ctrl_data;
}
if (wsa2_priv->child_count < LPASS_CDC_WSA2_MACRO_CHILD_DEVICES_MAX)
wsa2_priv->pdev_child_devices[
wsa2_priv->child_count++] = pdev;