]> xenbits.xensource.com Git - people/gdunlap/xen.git/commitdiff
xen/arm: Detect GIC nodes based on class
authorFrediano Ziglio <frediano.ziglio@huawei.com>
Tue, 3 Mar 2015 15:41:13 +0000 (15:41 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 5 Mar 2015 16:37:33 +0000 (16:37 +0000)
Instead of having a list with all matches use device list to detect
if a node is an interrupt controller.

Signed-off-by: Frediano Ziglio <frediano.ziglio@huawei.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/domain_build.c

index 9f1f59fa1e40d4e437b8fc692750bcbaa5792ba7..aaa3b975845c24bcf4d4d2077dcf5c21cb667e96 100644 (file)
@@ -1035,12 +1035,6 @@ static int handle_node(struct domain *d, struct kernel_info *kinfo,
         DT_MATCH_COMPATIBLE("arm,armv7-timer-mem"),
         { /* sentinel */ },
     };
-    static const struct dt_device_match gic_matches[] __initconst =
-    {
-        DT_MATCH_GIC_V2,
-        DT_MATCH_GIC_V3,
-        { /* sentinel */ },
-    };
     static const struct dt_device_match timer_matches[] __initconst =
     {
         DT_MATCH_TIMER,
@@ -1069,7 +1063,7 @@ static int handle_node(struct domain *d, struct kernel_info *kinfo,
 
     /* Replace these nodes with our own. Note that the original may be
      * used_by DOMID_XEN so this check comes first. */
-    if ( dt_match_node(gic_matches, node) )
+    if ( device_get_class(node) == DEVICE_GIC )
         return make_gic_node(d, kinfo->fdt, node);
     if ( dt_match_node(timer_matches, node) )
         return make_timer_node(d, kinfo->fdt, node);