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