On 11/20/2022 6:19 AM, Christophe JAILLET wrote: > Le 18/11/2022 à 19:22, Melody Olvera a écrit : >> Add interconnect provider driver for Qualcomm QDU1000 and QRU1000 >> platforms. >> >> Signed-off-by: Melody Olvera <quic_molvera@xxxxxxxxxxx> >> --- >> drivers/interconnect/qcom/Kconfig | 9 + >> drivers/interconnect/qcom/Makefile | 2 + >> drivers/interconnect/qcom/qdu1000.c | 1079 +++++++++++++++++++++++++++ >> drivers/interconnect/qcom/qdu1000.h | 95 +++ >> 4 files changed, 1185 insertions(+) >> create mode 100644 drivers/interconnect/qcom/qdu1000.c >> create mode 100644 drivers/interconnect/qcom/qdu1000.h >> > > [...] > >> +static int qnoc_probe(struct platform_device *pdev) >> +{ >> + int ret; >> + >> + ret = qcom_icc_rpmh_probe(pdev); >> + if (ret) >> + dev_err(&pdev->dev, "failed to register ICC provider\n"); >> + >> + return ret; >> +} >> + >> +static int qnoc_remove(struct platform_device *pdev) >> +{ >> + struct qcom_icc_provider *qp = platform_get_drvdata(pdev); >> + >> + icc_nodes_remove(&qp->provider); >> + icc_provider_del(&qp->provider); > > qcom_icc_rpmh_remove()? > > (more future proof, less verbose and more consistent with qcom_icc_rpmh_probe() in the probe) > > CJ Good call. Does it make sense to just set the .probe and .remove functions as qcom_icc_rpmh_probe() and qcom_icc_rpmh_remove(), respectively? Probe function is just reporting if qcom_icc_rpmh_probe fails. Thanks, Melody > >> + >> + return 0; >> +} >> + >> +static const struct of_device_id qnoc_of_match[] = { >> + { .compatible = "qcom,qdu1000-clk-virt", >> + .data = &qdu1000_clk_virt >> + }, >> + { .compatible = "qcom,qdu1000-gem-noc", >> + .data = &qdu1000_gem_noc >> + }, >> + { .compatible = "qcom,qdu1000-mc-virt", >> + .data = &qdu1000_mc_virt >> + }, >> + { .compatible = "qcom,qdu1000-system-noc", >> + .data = &qdu1000_system_noc >> + }, >> + { } >> +}; >> +MODULE_DEVICE_TABLE(of, qnoc_of_match); >> + >> +static struct platform_driver qnoc_driver = { >> + .probe = qnoc_probe, >> + .remove = qnoc_remove, >> + .driver = { >> + .name = "qnoc-qdu1000", >> + .of_match_table = qnoc_of_match, >> + }, >> +}; > > [...] >