2022-02-26 20:06:04

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: [PATCH] "soundwire: qcom: revert wait for enumeration to be complete in probe"

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 <[email protected]>
Co-developed-by: Venkata Prasad Potturu <[email protected]>
Signed-off-by: Venkata Prasad Potturu <[email protected]>
---
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