|
|
@@ -66,17 +66,24 @@ static int __init dt_scan_depth1_nodes(unsigned long node,
|
|
|
void *data)
|
|
|
{
|
|
|
/*
|
|
|
- * Return 1 as soon as we encounter a node at depth 1 that is
|
|
|
- * not the /chosen node, or /hypervisor node with compatible
|
|
|
- * string "xen,xen".
|
|
|
+ * Ignore anything not directly under the root node; we'll
|
|
|
+ * catch its parent instead.
|
|
|
*/
|
|
|
- if (depth == 1 && (strcmp(uname, "chosen") != 0)) {
|
|
|
- if (strcmp(uname, "hypervisor") != 0 ||
|
|
|
- !of_flat_dt_is_compatible(node, "xen,xen"))
|
|
|
- return 1;
|
|
|
- }
|
|
|
+ if (depth != 1)
|
|
|
+ return 0;
|
|
|
|
|
|
- return 0;
|
|
|
+ if (strcmp(uname, "chosen") == 0)
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ if (strcmp(uname, "hypervisor") == 0 &&
|
|
|
+ of_flat_dt_is_compatible(node, "xen,xen"))
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * This node at depth 1 is neither a chosen node nor a xen node,
|
|
|
+ * which we do not expect.
|
|
|
+ */
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
/*
|