interconnect: qcom: icc-rpmh: Support child NoC device probe
authorLuca Weiss <luca.weiss@fairphone.com>
Wed, 25 May 2022 14:43:57 +0000 (16:43 +0200)
committerGeorgi Djakov <djakov@kernel.org>
Mon, 20 Jun 2022 11:21:15 +0000 (14:21 +0300)
As per e39bf2972c6e ("interconnect: icc-rpm: Support child NoC device
probe") also update the rpmh interconnect driver to support probing NoCs
that are modelled as child devices of a different NoC.

As the driver doesn't yet use the 'reg' property, no change is done for
that.

Downstream DT reference:
https://android.googlesource.com/kernel/msm-extra/devicetree/+/refs/tags/android-11.0.0_r0.56/qcom/lagoon-bus.dtsi

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/r/20220525144404.200390-2-luca.weiss@fairphone.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
drivers/interconnect/qcom/icc-rpmh.c

index 3c40076..8acc8e6 100644 (file)
@@ -258,6 +258,10 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev)
        data->num_nodes = num_nodes;
        platform_set_drvdata(pdev, qp);
 
+       /* Populate child NoC devices if any */
+       if (of_get_child_count(dev->of_node) > 0)
+               return of_platform_populate(dev->of_node, NULL, NULL, dev);
+
        return 0;
 err:
        icc_nodes_remove(provider);