On 9 January 2018 at 02:00, Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > hw/arm/xlnx-zynqmp.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c > index 325642058b..fdcd6801b6 100644 > --- a/hw/arm/xlnx-zynqmp.c > +++ b/hw/arm/xlnx-zynqmp.c > @@ -24,6 +24,7 @@ > #include "exec/address-spaces.h" > #include "sysemu/kvm.h" > #include "kvm_arm.h" > +#include "hw/sysbus-fdt.h" > > #define GIC_NUM_SPI_INTR 160 > > @@ -138,6 +139,7 @@ static void xlnx_zynqmp_init(Object *obj) > XlnxZynqMPState *s = XLNX_ZYNQMP(obj); > int i; > int num_apus = MIN(smp_cpus, XLNX_ZYNQMP_NUM_APU_CPUS); > + const char *type_name; > > for (i = 0; i < num_apus; i++) { > object_initialize(&s->apu_cpu[i], sizeof(s->apu_cpu[i]), > @@ -150,12 +152,14 @@ static void xlnx_zynqmp_init(Object *obj) > qdev_set_parent_bus(DEVICE(&s->gic), sysbus_get_default()); > > for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) { > - object_initialize(&s->gem[i], sizeof(s->gem[i]), TYPE_CADENCE_GEM); > + type_name = type_resolve_fdt_alias("cdns,zynqmp-gem"); > + object_initialize(&s->gem[i], sizeof(s->gem[i]), type_name); > qdev_set_parent_bus(DEVICE(&s->gem[i]), sysbus_get_default()); > }
I'm having difficulty seeing the benefits of this series. We spend patches 1-8 adding code to devices to add alias names to them, and this means that in patch 9 we can replace a single object_initialize() with ... two lines of code including a runtime lookup of an alias name. Can you explain why this is better than what we have currently? thanks -- PMM