Revert wait for enumeration from soundwire probe as it seems unnecessary and device enumeration is anyway not happening here, hence this api is blocking till it completes max wait time. Also, as device enumeration event is dependent on wcd938x probe to be completed, its of no use waiting here. Waiting here increasing the boot time almost 4 seconds and impacting other modules like touch screen. Revert: commit 06dd96738d618 ("soundwire: qcom: wait for enumeration to be complete in probe") Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx> Co-developed-by: Venkata Prasad Potturu <quic_potturu@xxxxxxxxxxx> Signed-off-by: Venkata Prasad Potturu <quic_potturu@xxxxxxxxxxx> --- drivers/soundwire/qcom.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c index 5481341..9eb31ba 100644 --- a/drivers/soundwire/qcom.c +++ b/drivers/soundwire/qcom.c @@ -133,7 +133,6 @@ struct qcom_swrm_ctrl { struct dentry *debugfs; #endif struct completion broadcast; - struct completion enumeration; struct work_struct slave_work; /* Port alloc/free lock */ struct mutex port_lock; @@ -486,7 +485,6 @@ static int qcom_swrm_enumerate(struct sdw_bus *bus) } } - complete(&ctrl->enumeration); return 0; } @@ -1262,7 +1260,6 @@ static int qcom_swrm_probe(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, ctrl); mutex_init(&ctrl->port_lock); init_completion(&ctrl->broadcast); - init_completion(&ctrl->enumeration); ctrl->bus.ops = &qcom_swrm_ops; ctrl->bus.port_ops = &qcom_swrm_port_ops; @@ -1309,8 +1306,6 @@ static int qcom_swrm_probe(struct platform_device *pdev) } qcom_swrm_init(ctrl); - wait_for_completion_timeout(&ctrl->enumeration, - msecs_to_jiffies(TIMEOUT_MS)); ret = qcom_swrm_register_dais(ctrl); if (ret) goto err_master_add; -- 2.7.4