Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

interconnect: qcom: icc-rpmh: probe defer incase of missing QoS clock dependency

Return -EPROBE_DEFER from interconnect provider incase probe defer is
received from devm_clk_bulk_get_all(). This would help in reattempting
the inteconnect driver probe, once the required QoS clocks are
available.

Suggested-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>
Reviewed-by: Konrad Dybcio <konradybcio@kernel.org>
Fixes: 0a7be6b35da8 ("interconnect: qcom: icc-rpmh: Add QoS configuration support")
Link: https://lore.kernel.org/r/20240911094516.16901-1-quic_rlaggysh@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>

authored by

Raviteja Laggyshetty and committed by
Georgi Djakov
05123e32 9852d85e

+3
+3
drivers/interconnect/qcom/icc-rpmh.c
··· 311 311 } 312 312 313 313 qp->num_clks = devm_clk_bulk_get_all(qp->dev, &qp->clks); 314 + if (qp->num_clks == -EPROBE_DEFER) 315 + return dev_err_probe(dev, qp->num_clks, "Failed to get QoS clocks\n"); 316 + 314 317 if (qp->num_clks < 0 || (!qp->num_clks && desc->qos_clks_required)) { 315 318 dev_info(dev, "Skipping QoS, failed to get clk: %d\n", qp->num_clks); 316 319 goto skip_qos_config;