mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
arm/gic-v2: Refactor gicv2_init into generic and dt specific parts
Refactor gic-v2 related functions into dt and generic parts. This will be helpful when adding acpi support for gic. Signed-off-by: Parth Dixit <parth.dixit@linaro.org> Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
1 parent
eaf1de3d66
commit
57ab13c2ce
1 file changed
+14
-7
+14
-7
@@ -628,13 +628,12 @@ static bool_t gicv2_is_aliased(paddr_t cbase, paddr_t csize)
|
||||
return ((val_low & 0xfff0fff) == 0x0202043B && val_low == val_high);
|
||||
}
|
||||
|
||||
static int __init gicv2_init(void)
|
||||
static paddr_t __initdata hbase, dbase, cbase, csize, vbase;
|
||||
|
||||
static void __init gicv2_dt_init(void)
|
||||
{
|
||||
int res;
|
||||
paddr_t hbase, dbase;
|
||||
paddr_t cbase, csize;
|
||||
paddr_t vbase, vsize;
|
||||
uint32_t aliased_offset = 0;
|
||||
paddr_t vsize;
|
||||
const struct dt_device_node *node = gicv2_info.node;
|
||||
|
||||
res = dt_device_get_address(node, 0, &dbase, NULL);
|
||||
@@ -680,6 +679,13 @@ static int __init gicv2_init(void)
|
||||
if ( csize != vsize )
|
||||
panic("GICv2: Sizes of GICC (%#"PRIpaddr") and GICV (%#"PRIpaddr") don't match\n",
|
||||
csize, vsize);
|
||||
}
|
||||
|
||||
static int __init gicv2_init(void)
|
||||
{
|
||||
uint32_t aliased_offset = 0;
|
||||
|
||||
gicv2_dt_init();
|
||||
|
||||
printk("GICv2 initialization:\n"
|
||||
" gic_dist_addr=%"PRIpaddr"\n"
|
||||
@@ -765,7 +771,8 @@ 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 gicv2_dt_preinit(struct dt_device_node *node,
|
||||
const void *data)
|
||||
{
|
||||
gicv2_info.hw_version = GIC_V2;
|
||||
gicv2_info.node = node;
|
||||
@@ -783,7 +790,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 = gicv2_dt_preinit,
|
||||
DT_DEVICE_END
|
||||
|
||||
/*
|
||||
|
||||