Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a0c718a authored by Vangala, Amarnath's avatar Vangala, Amarnath Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarVangala, Amarnath <avangala@codeaurora.org>
parent 97f90ea9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1379,7 +1379,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");
@@ -1403,6 +1402,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;
}

+1 −1
Original line number Diff line number Diff line
@@ -4165,12 +4165,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;

+2 −2
Original line number Diff line number Diff line
@@ -3280,13 +3280,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:
+2 −2
Original line number Diff line number Diff line
@@ -3143,13 +3143,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:
+1 −1
Original line number Diff line number Diff line
@@ -3237,12 +3237,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: