Only PIIX4 provides this property while PIIX3 doesn't. Unlike initialize() methods, init() methods allow for device-specific quirks without having to call the parent method. So move the creation of the property into PIIX4's init() method as a preparation of the code merge and the subsequent cleanup of the realize methods.
Signed-off-by: Bernhard Beschow <[email protected]> --- hw/isa/piix4.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index df22c81cc2..7d4a66af49 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -176,9 +176,6 @@ static void piix4_realize(PCIDevice *dev, Error **errp) return; } - qdev_init_gpio_out_named(DEVICE(dev), &s->cpu_intr, - "intr", 1); - memory_region_init_io(&s->rcr_mem, OBJECT(dev), &piix4_rcr_ops, s, "reset-control", 1); memory_region_add_subregion_overlap(pci_address_space_io(dev), @@ -239,6 +236,8 @@ static void piix4_init(Object *obj) { PIIXState *s = PIIX_PCI_DEVICE(obj); + qdev_init_gpio_out_named(DEVICE(obj), &s->cpu_intr, "intr", 1); + object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); } -- 2.39.1
