hw/cpu/arm: Alias 'num-cpu' property on TYPE_REALVIEW_MPCORE

No need to duplicate and forward the 'num-cpu' property from
TYPE_ARM11MPCORE_PRIV to TYPE_REALVIEW_MPCORE, alias it with
QOM object_property_add_alias().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-id: 20250130112615.3219-6-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2025-02-07 16:09:19 +00:00 committed by Peter Maydell
parent 04c58c3b20
commit f096139656

View file

@ -14,7 +14,6 @@
#include "hw/cpu/arm11mpcore.h" #include "hw/cpu/arm11mpcore.h"
#include "hw/intc/realview_gic.h" #include "hw/intc/realview_gic.h"
#include "hw/irq.h" #include "hw/irq.h"
#include "hw/qdev-properties.h"
#include "qom/object.h" #include "qom/object.h"
#define TYPE_REALVIEW_MPCORE_RIRQ "realview_mpcore" #define TYPE_REALVIEW_MPCORE_RIRQ "realview_mpcore"
@ -68,7 +67,6 @@ static void realview_mpcore_realize(DeviceState *dev, Error **errp)
int n; int n;
int i; int i;
qdev_prop_set_uint32(priv, "num-cpu", s->num_cpu);
if (!sysbus_realize(SYS_BUS_DEVICE(&s->priv), errp)) { if (!sysbus_realize(SYS_BUS_DEVICE(&s->priv), errp)) {
return; return;
} }
@ -100,6 +98,7 @@ static void mpcore_rirq_init(Object *obj)
int i; int i;
object_initialize_child(obj, "a11priv", &s->priv, TYPE_ARM11MPCORE_PRIV); object_initialize_child(obj, "a11priv", &s->priv, TYPE_ARM11MPCORE_PRIV);
object_property_add_alias(obj, "num-cpu", OBJECT(&s->priv), "num-cpu");
privbusdev = SYS_BUS_DEVICE(&s->priv); privbusdev = SYS_BUS_DEVICE(&s->priv);
sysbus_init_mmio(sbd, sysbus_mmio_get_region(privbusdev, 0)); sysbus_init_mmio(sbd, sysbus_mmio_get_region(privbusdev, 0));
@ -108,16 +107,11 @@ static void mpcore_rirq_init(Object *obj)
} }
} }
static const Property mpcore_rirq_properties[] = {
DEFINE_PROP_UINT32("num-cpu", mpcore_rirq_state, num_cpu, 1),
};
static void mpcore_rirq_class_init(ObjectClass *klass, void *data) static void mpcore_rirq_class_init(ObjectClass *klass, void *data)
{ {
DeviceClass *dc = DEVICE_CLASS(klass); DeviceClass *dc = DEVICE_CLASS(klass);
dc->realize = realview_mpcore_realize; dc->realize = realview_mpcore_realize;
device_class_set_props(dc, mpcore_rirq_properties);
} }
static const TypeInfo mpcore_rirq_info = { static const TypeInfo mpcore_rirq_info = {