diff --git a/asoc/codecs/bolero/rx-macro.c b/asoc/codecs/bolero/rx-macro.c index e8cfa5ff4693..3e4eaa0a5655 100644 --- a/asoc/codecs/bolero/rx-macro.c +++ b/asoc/codecs/bolero/rx-macro.c @@ -4115,17 +4115,7 @@ static void rx_macro_add_child_devices(struct work_struct *work) __func__, ctrl_num); goto fail_pdev_add; } - } - ret = platform_device_add(pdev); - if (ret) { - dev_err(&pdev->dev, - "%s: Cannot add platform device\n", - __func__); - goto fail_pdev_add; - } - - if (rx_swr_master_node) { temp = krealloc(swr_ctrl_data, (ctrl_num + 1) * sizeof( struct rx_swr_ctrl_data), @@ -4138,10 +4128,19 @@ static void rx_macro_add_child_devices(struct work_struct *work) swr_ctrl_data[ctrl_num].rx_swr_pdev = pdev; ctrl_num++; dev_dbg(&pdev->dev, - "%s: Added soundwire ctrl device(s)\n", + "%s: Adding soundwire ctrl device(s)\n", __func__); rx_priv->swr_ctrl_data = swr_ctrl_data; } + + ret = platform_device_add(pdev); + if (ret) { + dev_err(&pdev->dev, + "%s: Cannot add platform device\n", + __func__); + goto fail_pdev_add; + } + if (rx_priv->child_count < RX_MACRO_CHILD_DEVICES_MAX) rx_priv->pdev_child_devices[ rx_priv->child_count++] = pdev; diff --git a/asoc/codecs/bolero/tx-macro.c b/asoc/codecs/bolero/tx-macro.c index 9671f55a5d65..b70f80187f30 100644 --- a/asoc/codecs/bolero/tx-macro.c +++ b/asoc/codecs/bolero/tx-macro.c @@ -3294,17 +3294,7 @@ static void tx_macro_add_child_devices(struct work_struct *work) __func__, ctrl_num); goto fail_pdev_add; } - } - ret = platform_device_add(pdev); - if (ret) { - dev_err(&pdev->dev, - "%s: Cannot add platform device\n", - __func__); - goto fail_pdev_add; - } - - if (tx_swr_master_node) { temp = krealloc(swr_ctrl_data, (ctrl_num + 1) * sizeof( struct tx_macro_swr_ctrl_data), @@ -3317,10 +3307,19 @@ static void tx_macro_add_child_devices(struct work_struct *work) swr_ctrl_data[ctrl_num].tx_swr_pdev = pdev; ctrl_num++; dev_dbg(&pdev->dev, - "%s: Added soundwire ctrl device(s)\n", + "%s: Adding soundwire ctrl device(s)\n", __func__); tx_priv->swr_ctrl_data = swr_ctrl_data; } + + ret = platform_device_add(pdev); + if (ret) { + dev_err(&pdev->dev, + "%s: Cannot add platform device\n", + __func__); + goto fail_pdev_add; + } + if (tx_priv->child_count < TX_MACRO_CHILD_DEVICES_MAX) tx_priv->pdev_child_devices[ tx_priv->child_count++] = pdev; diff --git a/asoc/codecs/bolero/va-macro.c b/asoc/codecs/bolero/va-macro.c index 066d86caa217..7547f486248e 100644 --- a/asoc/codecs/bolero/va-macro.c +++ b/asoc/codecs/bolero/va-macro.c @@ -2944,17 +2944,7 @@ static void va_macro_add_child_devices(struct work_struct *work) __func__, ctrl_num); goto fail_pdev_add; } - } - ret = platform_device_add(pdev); - if (ret) { - dev_err(&pdev->dev, - "%s: Cannot add platform device\n", - __func__); - goto fail_pdev_add; - } - - if (va_swr_master_node) { temp = krealloc(swr_ctrl_data, (ctrl_num + 1) * sizeof( struct va_macro_swr_ctrl_data), @@ -2967,10 +2957,19 @@ static void va_macro_add_child_devices(struct work_struct *work) swr_ctrl_data[ctrl_num].va_swr_pdev = pdev; ctrl_num++; dev_dbg(&pdev->dev, - "%s: Added soundwire ctrl device(s)\n", + "%s: Adding soundwire ctrl device(s)\n", __func__); va_priv->swr_ctrl_data = swr_ctrl_data; } + + ret = platform_device_add(pdev); + if (ret) { + dev_err(&pdev->dev, + "%s: Cannot add platform device\n", + __func__); + goto fail_pdev_add; + } + if (va_priv->child_count < VA_MACRO_CHILD_DEVICES_MAX) va_priv->pdev_child_devices[ va_priv->child_count++] = pdev; diff --git a/asoc/codecs/bolero/wsa-macro.c b/asoc/codecs/bolero/wsa-macro.c index b28df53fc563..b48ea6dc2b35 100644 --- a/asoc/codecs/bolero/wsa-macro.c +++ b/asoc/codecs/bolero/wsa-macro.c @@ -3146,6 +3146,23 @@ static void wsa_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 wsa_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].wsa_swr_pdev = pdev; + ctrl_num++; + dev_dbg(&pdev->dev, + "%s: Adding soundwire ctrl device(s)\n", + __func__); + wsa_priv->swr_ctrl_data = swr_ctrl_data; } ret = platform_device_add(pdev); @@ -3156,24 +3173,6 @@ static void wsa_macro_add_child_devices(struct work_struct *work) goto fail_pdev_add; } - if (!strcmp(node->name, "wsa_swr_master")) { - temp = krealloc(swr_ctrl_data, - (ctrl_num + 1) * sizeof( - struct wsa_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].wsa_swr_pdev = pdev; - ctrl_num++; - dev_dbg(&pdev->dev, - "%s: Added soundwire ctrl device(s)\n", - __func__); - wsa_priv->swr_ctrl_data = swr_ctrl_data; - } if (wsa_priv->child_count < WSA_MACRO_CHILD_DEVICES_MAX) wsa_priv->pdev_child_devices[ wsa_priv->child_count++] = pdev;