|
@@ -2190,6 +2190,9 @@ static int cci_probe_ports(struct device_node *np)
|
|
|
if (!of_match_node(arm_cci_ctrl_if_matches, cp))
|
|
|
continue;
|
|
|
|
|
|
+ if (!of_device_is_available(cp))
|
|
|
+ continue;
|
|
|
+
|
|
|
i = nb_ace + nb_ace_lite;
|
|
|
|
|
|
if (i >= nb_cci_ports)
|
|
@@ -2232,6 +2235,13 @@ static int cci_probe_ports(struct device_node *np)
|
|
|
ports[i].dn = cp;
|
|
|
}
|
|
|
|
|
|
+ /*
|
|
|
+ * If there is no CCI port that is under kernel control
|
|
|
+ * return early and report probe status.
|
|
|
+ */
|
|
|
+ if (!nb_ace && !nb_ace_lite)
|
|
|
+ return -ENODEV;
|
|
|
+
|
|
|
/* initialize a stashed array of ACE ports to speed-up look-up */
|
|
|
cci_ace_init_ports();
|
|
|
|