[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2 17/41] arm : refactor gic into generic and dt specific parts



refactor gic related functions into dt and generic parts
this will be helpful when adding acpi support for gic

Signed-off-by: Parth Dixit <parth.dixit@xxxxxxxxxx>
---
 xen/arch/arm/gic-v2.c | 13 ++++++++++---
 xen/arch/arm/gic.c    |  7 ++++++-
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 80acc62..7276951 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -663,7 +663,7 @@ static hw_irq_controller gicv2_guest_irq_type = {
     .set_affinity = gicv2_irq_set_affinity,
 };
 
-static int __init gicv2_init(void)
+static int __init dt_gicv2_init(void)
 {
     int res;
     const struct dt_device_node *node = gicv2_info.node;
@@ -689,6 +689,13 @@ static int __init gicv2_init(void)
         panic("GICv2: Cannot find the maintenance IRQ");
     gicv2_info.maintenance_irq = res;
 
+    return 0;
+}
+
+static int gicv2_init(void)
+{
+     dt_gicv2_init();
+
     /* TODO: Add check on distributor, cpu size */
 
     printk("GICv2 initialization:\n"
@@ -763,7 +770,7 @@ const static struct gic_hw_operations gicv2_ops = {
 };
 
 /* Set up the GIC */
-static int __init gicv2_preinit(struct dt_device_node *node, const void *data)
+static int __init dt_gicv2_preinit(struct dt_device_node *node, const void 
*data)
 {
     gicv2_info.hw_version = GIC_V2;
     gicv2_info.node = node;
@@ -781,7 +788,7 @@ static const struct dt_device_match gicv2_dt_match[] 
__initconst =
 
 DT_DEVICE_START(gicv2, "GICv2", DEVICE_GIC)
         .dt_match = gicv2_dt_match,
-        .init = gicv2_preinit,
+        .init = dt_gicv2_preinit,
 DT_DEVICE_END
 
 /*
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index f023e4f..701c306 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -231,7 +231,7 @@ int gic_irq_xlate(const u32 *intspec, unsigned int intsize,
 /* Find the interrupt controller and set up the callback to translate
  * device tree IRQ.
  */
-void __init gic_preinit(void)
+void __init dt_gic_preinit(void)
 {
     int rc;
     struct dt_device_node *node;
@@ -261,6 +261,11 @@ void __init gic_preinit(void)
     dt_device_set_used_by(node, DOMID_XEN);
 }
 
+void __init gic_preinit(void)
+{
+    dt_gic_preinit();
+}
+
 /* Set up the GIC */
 void __init gic_init(void)
 {
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.