On Tue, Aug 27, 2024 at 05:25:24PM GMT, Raviteja Laggyshetty wrote: > 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. > Rename qos_clks_required flag to qos_requires_clocks in qcom_icc_desc > structure. This flag indicates that interconnect provider requires > clocks for programming QoS. Two separate commits, please. > > Suggested-by: Bjorn Andersson <andersson@xxxxxxxxxx> > Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@xxxxxxxxxxx> > --- > drivers/interconnect/qcom/icc-rpmh.c | 10 +++++++--- > drivers/interconnect/qcom/icc-rpmh.h | 2 +- > drivers/interconnect/qcom/sc7280.c | 4 ++-- > 3 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/drivers/interconnect/qcom/icc-rpmh.c b/drivers/interconnect/qcom/icc-rpmh.c > index f49a8e0cb03c..5417abf59e28 100644 > --- a/drivers/interconnect/qcom/icc-rpmh.c > +++ b/drivers/interconnect/qcom/icc-rpmh.c > @@ -311,9 +311,13 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev) > } > > qp->num_clks = devm_clk_bulk_get_all(qp->dev, &qp->clks); > - if (qp->num_clks < 0 || (!qp->num_clks && desc->qos_clks_required)) { > - dev_info(dev, "Skipping QoS, failed to get clk: %d\n", qp->num_clks); > - goto skip_qos_config; > + if (qp->num_clks < 0 || (!qp->num_clks && desc->qos_requires_clocks)) { > + if (qp->num_clks != -EPROBE_DEFER) { if (qp->num_clks == -EPROBE_DEFER) return dev_err_probe(....) if (qp->num_clks < 0 || ....) .... > + dev_info(dev, "Skipping QoS, failed to get clk: %d\n", > + qp->num_clks); > + goto skip_qos_config; > + } > + return qp->num_clks; -- With best wishes Dmitry