asoc: codecs: add child devices after completing initialization

In bolero-cdc and tx, va, wsa and rx macros, move schedule_work call to
add the child devices to the point later to where the parent
initialization gets completed.

Change-Id: Iaa07329a25020dde21d9249c3848bb7fcf7d816a
Signed-off-by: Vangala, Amarnath <avangala@codeaurora.org>
This commit is contained in:
Vangala, Amarnath 2020-12-03 14:14:56 +05:30
commit 499ec05405
5 changed files with 7 additions and 7 deletions

View file

@ -1400,7 +1400,6 @@ static int bolero_probe(struct platform_device *pdev)
mutex_init(&priv->vote_lock);
INIT_WORK(&priv->bolero_add_child_devices_work,
bolero_add_child_devices);
schedule_work(&priv->bolero_add_child_devices_work);
/* Register LPASS core hw vote */
lpass_core_hw_vote = devm_clk_get(&pdev->dev, "lpass_core_hw_vote");
@ -1424,6 +1423,7 @@ static int bolero_probe(struct platform_device *pdev)
}
priv->lpass_audio_hw_vote = lpass_audio_hw_vote;
schedule_work(&priv->bolero_add_child_devices_work);
return 0;
}

View file

@ -4238,12 +4238,12 @@ static int rx_macro_probe(struct platform_device *pdev)
"%s: register macro failed\n", __func__);
goto err_reg_macro;
}
schedule_work(&rx_priv->rx_macro_add_child_devices_work);
pm_runtime_set_autosuspend_delay(&pdev->dev, AUTO_SUSPEND_DELAY);
pm_runtime_use_autosuspend(&pdev->dev);
pm_runtime_set_suspended(&pdev->dev);
pm_suspend_ignore_children(&pdev->dev, true);
pm_runtime_enable(&pdev->dev);
schedule_work(&rx_priv->rx_macro_add_child_devices_work);
return 0;

View file

@ -3522,13 +3522,13 @@ static int tx_macro_probe(struct platform_device *pdev)
"%s: register macro failed\n", __func__);
goto err_reg_macro;
}
if (is_used_tx_swr_gpio)
schedule_work(&tx_priv->tx_macro_add_child_devices_work);
pm_runtime_set_autosuspend_delay(&pdev->dev, AUTO_SUSPEND_DELAY);
pm_runtime_use_autosuspend(&pdev->dev);
pm_runtime_set_suspended(&pdev->dev);
pm_suspend_ignore_children(&pdev->dev, true);
pm_runtime_enable(&pdev->dev);
if (is_used_tx_swr_gpio)
schedule_work(&tx_priv->tx_macro_add_child_devices_work);
return 0;
err_reg_macro:

View file

@ -3211,13 +3211,13 @@ static int va_macro_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "%s: register macro failed\n", __func__);
goto reg_macro_fail;
}
if (is_used_va_swr_gpio)
schedule_work(&va_priv->va_macro_add_child_devices_work);
pm_runtime_set_autosuspend_delay(&pdev->dev, VA_AUTO_SUSPEND_DELAY);
pm_runtime_use_autosuspend(&pdev->dev);
pm_runtime_set_suspended(&pdev->dev);
pm_suspend_ignore_children(&pdev->dev, true);
pm_runtime_enable(&pdev->dev);
if (is_used_va_swr_gpio)
schedule_work(&va_priv->va_macro_add_child_devices_work);
return ret;
reg_macro_fail:

View file

@ -3250,12 +3250,12 @@ static int wsa_macro_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "%s: register macro failed\n", __func__);
goto reg_macro_fail;
}
schedule_work(&wsa_priv->wsa_macro_add_child_devices_work);
pm_runtime_set_autosuspend_delay(&pdev->dev, AUTO_SUSPEND_DELAY);
pm_runtime_use_autosuspend(&pdev->dev);
pm_runtime_set_suspended(&pdev->dev);
pm_suspend_ignore_children(&pdev->dev, true);
pm_runtime_enable(&pdev->dev);
schedule_work(&wsa_priv->wsa_macro_add_child_devices_work);
return ret;
reg_macro_fail: