From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05E95C433DF for ; Tue, 19 May 2020 21:37:03 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7CCC720899 for ; Tue, 19 May 2020 21:37:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="t83gbXzj" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7CCC720899 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:43052 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb9v3-0001yh-NP for qemu-devel@archiver.kernel.org; Tue, 19 May 2020 17:37:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38680) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jb9tz-0001OA-1L for qemu-devel@nongnu.org; Tue, 19 May 2020 17:35:55 -0400 Received: from mail-io1-xd43.google.com ([2607:f8b0:4864:20::d43]:37191) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jb9ts-0007eO-0M for qemu-devel@nongnu.org; Tue, 19 May 2020 17:35:54 -0400 Received: by mail-io1-xd43.google.com with SMTP id t15so870061ios.4 for ; Tue, 19 May 2020 14:35:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pav8ECwJR/UQnCCNL7fz3ND3xfOpiDIpDmcxY5zhQlw=; b=t83gbXzj0RVJdwMBKWYU05Vea6P6ZAguI6SK4e2tLbNNnj4S/Vy4MRxDPS4QJ1SJRN Gj2yo33WJdOkaelnmg6gdEKNdtrSdIBVF2UcOtfTjxfEN2QROECfuoPSxWbM6ExNzs6Z YVBj1+/2vCGYdfw2X5+Qb+OB28R6uWRW6ROtZOD19M2TXqR7kd2Tk33TfBpliDiutj4F W+hAsukiyucCtxLXfsOinRRim0RKxTu6Oa2/ZiQKT4OJyXAkEy5V6LDHRDlsT7zGeOjS 3qiRCVOnmE/PGsN+3cYL+cBV4Hvo1Hs9KC2CR2IIGSuwEGb6wLrM+0XkoLXMaKLxi7yn lhwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pav8ECwJR/UQnCCNL7fz3ND3xfOpiDIpDmcxY5zhQlw=; b=eCDdA/Ukpi5xDQGp5Jdx82EAUohJguvXs/V0gXFlWRPnCQflfYI7seuRhuWVcY5/+p ggWcOiJ7Z/ndekZNqEY6KBUs99JmUVZbBmAMNJfsMGmC1G0qY51t6XJq8+xu/EbIN1Gd Gf/kg0H2ThFYcpa1pUD7Lex3fYYITolvbQ0sdYFL7phzh7sH4maM70x/i0PYxZRj6gcJ p7dzKocy4CfeA6S9ltMDQcsmjZIsebO0HKkFvb8pT5usq7Mc+NF9TSlk2mYhC0odwvH3 HRg0MWZiS5CAQPxlKbmpRxFQ3Cfdj2MT6WpDKxje7nhX/9NtTqVIEBerzONi60JajJAw hZkw== X-Gm-Message-State: AOAM5330D3P0R0UDe+wD6eYDN4NOZrSaIO9zqRhrH5kXbWtwliMvfX81 E5bkcur795BZLhVgNCl4RaR4BaBw1BLZ0luqpnM= X-Google-Smtp-Source: ABdhPJxWcV6AxrqNQfJBeeuXA+tU9EALnbZ4i0EJD159g79Eynnt37U7/0EuiUJkvNTF/D8z9CV7uWfvxU66Kp14Mrg= X-Received: by 2002:a5d:9604:: with SMTP id w4mr943949iol.105.1589924143848; Tue, 19 May 2020 14:35:43 -0700 (PDT) MIME-Version: 1.0 References: <20200519145551.22836-1-armbru@redhat.com> <20200519145551.22836-47-armbru@redhat.com> In-Reply-To: <20200519145551.22836-47-armbru@redhat.com> From: Alistair Francis Date: Tue, 19 May 2020 14:26:50 -0700 Message-ID: Subject: Re: [PATCH 46/55] sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 2 To: Markus Armbruster Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::d43; envelope-from=alistair23@gmail.com; helo=mail-io1-xd43.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , "Daniel P. Berrange" , "qemu-devel@nongnu.org Developers" , Eduardo Habkost Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Tue, May 19, 2020 at 8:22 AM Markus Armbruster wrote: > > This is the same transformation as in the previous commit, except > sysbus_init_child_obj() and realize are too separated for the commit's > Coccinelle script to handle, typically because sysbus_init_child_obj() > is in a device's instance_init() method, and the matching realize is > in its realize() method. > > Perhaps a Coccinelle wizard could make it transform that pattern, but > I'm just a bungler, and the best I can do is transforming the two > separate parts separately: > > @@ > expression errp; > expression child; > symbol true; > @@ > - object_property_set_bool(OBJECT(child), true, "realized", errp); > + sysbus_realize(SYS_BUS_DEVICE(child), errp); > // only correct with a matching sysbus_init_child_obj() transformation! > > @@ > expression errp; > expression child; > symbol true; > @@ > - object_property_set_bool(child, true, "realized", errp); > + sysbus_realize(SYS_BUS_DEVICE(child), errp); > // only correct with a matching sysbus_init_child_obj() transformation! > > @@ > expression child; > @@ > - qdev_init_nofail(DEVICE(child)); > + sysbus_realize(SYS_BUS_DEVICE(child), &error_fatal); > // only correct with a matching sysbus_init_child_obj() transformation! > > @@ > expression child; > expression dev; > @@ > dev = DEVICE(child); > ... > - qdev_init_nofail(dev); > + sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal); > // only correct with a matching sysbus_init_child_obj() transformation! > > @@ > expression child; > identifier dev; > @@ > DeviceState *dev = DEVICE(child); > ... > - qdev_init_nofail(dev); > + sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal); > // only correct with a matching sysbus_init_child_obj() transformation! > > @@ > expression parent, name, size, type; > expression child; > symbol true; > @@ > - sysbus_init_child_obj(parent, name, child, size, type); > + sysbus_init_child_XXX(parent, name, child, size, type); > > @@ > expression parent, propname, type; > expression child; > @@ > - sysbus_init_child_XXX(parent, propname, child, sizeof(*child), type) > + object_initialize_child(parent, propname, child, type) > > @@ > expression parent, propname, type; > expression child; > @@ > - sysbus_init_child_XXX(parent, propname, &child, sizeof(child), type) > + object_initialize_child(parent, propname, &child, type) > > This script is *unsound*: we need to manually verify init and realize > conversions are properly paired. > > This commit has only the pairs where object_initialize_child()'s > @child and sysbus_realize()'s @dev argument text match exactly within > the same source file. > > Note that Coccinelle chokes on ARMSSE typedef vs. macro in > hw/arm/armsse.c. Worked around by temporarily renaming the macro for > the spatch run. > > Signed-off-by: Markus Armbruster Acked-by: Alistair Francis Alistair > --- > hw/arm/allwinner-a10.c | 43 ++++++--------- > hw/arm/allwinner-h3.c | 50 +++++++---------- > hw/arm/armsse.c | 96 ++++++++++++++------------------ > hw/arm/armv7m.c | 4 +- > hw/arm/aspeed_ast2600.c | 89 +++++++++++++----------------- > hw/arm/aspeed_soc.c | 69 ++++++++++------------- > hw/arm/bcm2835_peripherals.c | 65 ++++++++++------------ > hw/arm/bcm2836.c | 11 ++-- > hw/arm/digic.c | 10 ++-- > hw/arm/fsl-imx25.c | 54 ++++++++---------- > hw/arm/fsl-imx31.c | 33 +++++------ > hw/arm/fsl-imx6.c | 69 ++++++++++------------- > hw/arm/fsl-imx6ul.c | 98 ++++++++++++--------------------- > hw/arm/fsl-imx7.c | 93 +++++++++++-------------------- > hw/arm/msf2-soc.c | 25 ++++----- > hw/arm/nrf51_soc.c | 30 +++++----- > hw/arm/stm32f205_soc.c | 32 +++++------ > hw/arm/stm32f405_soc.c | 37 ++++++------- > hw/arm/xlnx-zynqmp.c | 60 +++++++++----------- > hw/cpu/a15mpcore.c | 5 +- > hw/cpu/a9mpcore.c | 23 ++++---- > hw/cpu/arm11mpcore.c | 18 +++--- > hw/cpu/realview_mpcore.c | 5 +- > hw/intc/realview_gic.c | 4 +- > hw/microblaze/xlnx-zynqmp-pmu.c | 11 ++-- > hw/misc/mac_via.c | 12 ++-- > hw/misc/macio/cuda.c | 7 ++- > hw/misc/macio/pmu.c | 7 ++- > hw/ppc/pnv.c | 6 +- > hw/riscv/sifive_e.c | 13 ++--- > hw/riscv/sifive_u.c | 31 ++++------- > 31 files changed, 459 insertions(+), 651 deletions(-) > > diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c > index 64449416de..e05099c757 100644 > --- a/hw/arm/allwinner-a10.c > +++ b/hw/arm/allwinner-a10.c > @@ -44,33 +44,28 @@ static void aw_a10_init(Object *obj) > object_initialize_child(obj, "cpu", &s->cpu, > ARM_CPU_TYPE_NAME("cortex-a8")); > > - sysbus_init_child_obj(obj, "intc", &s->intc, sizeof(s->intc), > - TYPE_AW_A10_PIC); > + object_initialize_child(obj, "intc", &s->intc, TYPE_AW_A10_PIC); > > - sysbus_init_child_obj(obj, "timer", &s->timer, sizeof(s->timer), > - TYPE_AW_A10_PIT); > + object_initialize_child(obj, "timer", &s->timer, TYPE_AW_A10_PIT); > > - sysbus_init_child_obj(obj, "emac", &s->emac, sizeof(s->emac), TYPE_AW_EMAC); > + object_initialize_child(obj, "emac", &s->emac, TYPE_AW_EMAC); > > - sysbus_init_child_obj(obj, "sata", &s->sata, sizeof(s->sata), > - TYPE_ALLWINNER_AHCI); > + object_initialize_child(obj, "sata", &s->sata, TYPE_ALLWINNER_AHCI); > > if (machine_usb(current_machine)) { > int i; > > for (i = 0; i < AW_A10_NUM_USB; i++) { > - sysbus_init_child_obj(obj, "ehci[*]", &s->ehci[i], > - sizeof(s->ehci[i]), TYPE_PLATFORM_EHCI); > - sysbus_init_child_obj(obj, "ohci[*]", &s->ohci[i], > - sizeof(s->ohci[i]), TYPE_SYSBUS_OHCI); > + object_initialize_child(obj, "ehci[*]", &s->ehci[i], > + TYPE_PLATFORM_EHCI); > + object_initialize_child(obj, "ohci[*]", &s->ohci[i], > + TYPE_SYSBUS_OHCI); > } > } > > - sysbus_init_child_obj(obj, "mmc0", &s->mmc0, sizeof(s->mmc0), > - TYPE_AW_SDHOST_SUN4I); > + object_initialize_child(obj, "mmc0", &s->mmc0, TYPE_AW_SDHOST_SUN4I); > > - sysbus_init_child_obj(obj, "rtc", &s->rtc, sizeof(s->rtc), > - TYPE_AW_RTC_SUN4I); > + object_initialize_child(obj, "rtc", &s->rtc, TYPE_AW_RTC_SUN4I); > } > > static void aw_a10_realize(DeviceState *dev, Error **errp) > @@ -85,7 +80,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) > return; > } > > - object_property_set_bool(OBJECT(&s->intc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->intc), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -98,7 +93,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) > qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); > qdev_pass_gpios(DEVICE(&s->intc), dev, NULL); > > - object_property_set_bool(OBJECT(&s->timer), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -122,7 +117,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) > qemu_check_nic_model(&nd_table[0], TYPE_AW_EMAC); > qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]); > } > - object_property_set_bool(OBJECT(&s->emac), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->emac), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -131,7 +126,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) > sysbus_mmio_map(sysbusdev, 0, AW_A10_EMAC_BASE); > sysbus_connect_irq(sysbusdev, 0, qdev_get_gpio_in(dev, 55)); > > - object_property_set_bool(OBJECT(&s->sata), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sata), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -154,8 +149,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) > > object_property_set_bool(OBJECT(&s->ehci[i]), true, > "companion-enable", &error_fatal); > - object_property_set_bool(OBJECT(&s->ehci[i]), true, "realized", > - &error_fatal); > + sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->ehci[i]), 0, > AW_A10_EHCI_BASE + i * 0x8000); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->ehci[i]), 0, > @@ -163,8 +157,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) > > object_property_set_str(OBJECT(&s->ohci[i]), bus, "masterbus", > &error_fatal); > - object_property_set_bool(OBJECT(&s->ohci[i]), true, "realized", > - &error_fatal); > + sysbus_realize(SYS_BUS_DEVICE(&s->ohci[i]), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->ohci[i]), 0, > AW_A10_OHCI_BASE + i * 0x8000); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->ohci[i]), 0, > @@ -173,14 +166,14 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) > } > > /* SD/MMC */ > - qdev_init_nofail(DEVICE(&s->mmc0)); > + sysbus_realize(SYS_BUS_DEVICE(&s->mmc0), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->mmc0), 0, AW_A10_MMC0_BASE); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->mmc0), 0, qdev_get_gpio_in(dev, 32)); > object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->mmc0), > "sd-bus"); > > /* RTC */ > - qdev_init_nofail(DEVICE(&s->rtc)); > + sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &error_fatal); > sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->rtc), 0, AW_A10_RTC_BASE, 10); > } > > diff --git a/hw/arm/allwinner-h3.c b/hw/arm/allwinner-h3.c > index 7dc3671155..91d22640e4 100644 > --- a/hw/arm/allwinner-h3.c > +++ b/hw/arm/allwinner-h3.c > @@ -198,45 +198,35 @@ static void allwinner_h3_init(Object *obj) > ARM_CPU_TYPE_NAME("cortex-a7")); > } > > - sysbus_init_child_obj(obj, "gic", &s->gic, sizeof(s->gic), > - TYPE_ARM_GIC); > + object_initialize_child(obj, "gic", &s->gic, TYPE_ARM_GIC); > > - sysbus_init_child_obj(obj, "timer", &s->timer, sizeof(s->timer), > - TYPE_AW_A10_PIT); > + object_initialize_child(obj, "timer", &s->timer, TYPE_AW_A10_PIT); > object_property_add_alias(obj, "clk0-freq", OBJECT(&s->timer), > "clk0-freq"); > object_property_add_alias(obj, "clk1-freq", OBJECT(&s->timer), > "clk1-freq"); > > - sysbus_init_child_obj(obj, "ccu", &s->ccu, sizeof(s->ccu), > - TYPE_AW_H3_CCU); > + object_initialize_child(obj, "ccu", &s->ccu, TYPE_AW_H3_CCU); > > - sysbus_init_child_obj(obj, "sysctrl", &s->sysctrl, sizeof(s->sysctrl), > - TYPE_AW_H3_SYSCTRL); > + object_initialize_child(obj, "sysctrl", &s->sysctrl, TYPE_AW_H3_SYSCTRL); > > - sysbus_init_child_obj(obj, "cpucfg", &s->cpucfg, sizeof(s->cpucfg), > - TYPE_AW_CPUCFG); > + object_initialize_child(obj, "cpucfg", &s->cpucfg, TYPE_AW_CPUCFG); > > - sysbus_init_child_obj(obj, "sid", &s->sid, sizeof(s->sid), > - TYPE_AW_SID); > + object_initialize_child(obj, "sid", &s->sid, TYPE_AW_SID); > object_property_add_alias(obj, "identifier", OBJECT(&s->sid), > "identifier"); > > - sysbus_init_child_obj(obj, "mmc0", &s->mmc0, sizeof(s->mmc0), > - TYPE_AW_SDHOST_SUN5I); > + object_initialize_child(obj, "mmc0", &s->mmc0, TYPE_AW_SDHOST_SUN5I); > > - sysbus_init_child_obj(obj, "emac", &s->emac, sizeof(s->emac), > - TYPE_AW_SUN8I_EMAC); > + object_initialize_child(obj, "emac", &s->emac, TYPE_AW_SUN8I_EMAC); > > - sysbus_init_child_obj(obj, "dramc", &s->dramc, sizeof(s->dramc), > - TYPE_AW_H3_DRAMC); > + object_initialize_child(obj, "dramc", &s->dramc, TYPE_AW_H3_DRAMC); > object_property_add_alias(obj, "ram-addr", OBJECT(&s->dramc), > "ram-addr"); > object_property_add_alias(obj, "ram-size", OBJECT(&s->dramc), > "ram-size"); > > - sysbus_init_child_obj(obj, "rtc", &s->rtc, sizeof(s->rtc), > - TYPE_AW_RTC_SUN6I); > + object_initialize_child(obj, "rtc", &s->rtc, TYPE_AW_RTC_SUN6I); > } > > static void allwinner_h3_realize(DeviceState *dev, Error **errp) > @@ -270,7 +260,7 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp) > qdev_prop_set_uint32(DEVICE(&s->gic), "num-cpu", AW_H3_NUM_CPUS); > qdev_prop_set_bit(DEVICE(&s->gic), "has-security-extensions", false); > qdev_prop_set_bit(DEVICE(&s->gic), "has-virtualization-extensions", true); > - qdev_init_nofail(DEVICE(&s->gic)); > + sysbus_realize(SYS_BUS_DEVICE(&s->gic), &error_fatal); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gic), 0, s->memmap[AW_H3_GIC_DIST]); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gic), 1, s->memmap[AW_H3_GIC_CPU]); > @@ -321,7 +311,7 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp) > } > > /* Timer */ > - qdev_init_nofail(DEVICE(&s->timer)); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->timer), 0, s->memmap[AW_H3_PIT]); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->timer), 0, > qdev_get_gpio_in(DEVICE(&s->gic), AW_H3_GIC_SPI_TIMER0)); > @@ -343,23 +333,23 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp) > &s->sram_c); > > /* Clock Control Unit */ > - qdev_init_nofail(DEVICE(&s->ccu)); > + sysbus_realize(SYS_BUS_DEVICE(&s->ccu), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccu), 0, s->memmap[AW_H3_CCU]); > > /* System Control */ > - qdev_init_nofail(DEVICE(&s->sysctrl)); > + sysbus_realize(SYS_BUS_DEVICE(&s->sysctrl), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->sysctrl), 0, s->memmap[AW_H3_SYSCTRL]); > > /* CPU Configuration */ > - qdev_init_nofail(DEVICE(&s->cpucfg)); > + sysbus_realize(SYS_BUS_DEVICE(&s->cpucfg), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->cpucfg), 0, s->memmap[AW_H3_CPUCFG]); > > /* Security Identifier */ > - qdev_init_nofail(DEVICE(&s->sid)); > + sysbus_realize(SYS_BUS_DEVICE(&s->sid), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->sid), 0, s->memmap[AW_H3_SID]); > > /* SD/MMC */ > - qdev_init_nofail(DEVICE(&s->mmc0)); > + sysbus_realize(SYS_BUS_DEVICE(&s->mmc0), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->mmc0), 0, s->memmap[AW_H3_MMC0]); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->mmc0), 0, > qdev_get_gpio_in(DEVICE(&s->gic), AW_H3_GIC_SPI_MMC0)); > @@ -372,7 +362,7 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp) > qemu_check_nic_model(&nd_table[0], TYPE_AW_SUN8I_EMAC); > qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]); > } > - qdev_init_nofail(DEVICE(&s->emac)); > + sysbus_realize(SYS_BUS_DEVICE(&s->emac), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->emac), 0, s->memmap[AW_H3_EMAC]); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->emac), 0, > qdev_get_gpio_in(DEVICE(&s->gic), AW_H3_GIC_SPI_EMAC)); > @@ -422,13 +412,13 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp) > 115200, serial_hd(3), DEVICE_NATIVE_ENDIAN); > > /* DRAMC */ > - qdev_init_nofail(DEVICE(&s->dramc)); > + sysbus_realize(SYS_BUS_DEVICE(&s->dramc), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->dramc), 0, s->memmap[AW_H3_DRAMCOM]); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->dramc), 1, s->memmap[AW_H3_DRAMCTL]); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->dramc), 2, s->memmap[AW_H3_DRAMPHY]); > > /* RTC */ > - qdev_init_nofail(DEVICE(&s->rtc)); > + sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &error_fatal); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->rtc), 0, s->memmap[AW_H3_RTC]); > > /* Unimplemented devices */ > diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c > index b6276b7327..a00764759f 100644 > --- a/hw/arm/armsse.c > +++ b/hw/arm/armsse.c > @@ -274,16 +274,12 @@ static void armsse_init(Object *obj) > } > } > > - sysbus_init_child_obj(obj, "secctl", &s->secctl, sizeof(s->secctl), > - TYPE_IOTKIT_SECCTL); > - sysbus_init_child_obj(obj, "apb-ppc0", &s->apb_ppc0, sizeof(s->apb_ppc0), > - TYPE_TZ_PPC); > - sysbus_init_child_obj(obj, "apb-ppc1", &s->apb_ppc1, sizeof(s->apb_ppc1), > - TYPE_TZ_PPC); > + object_initialize_child(obj, "secctl", &s->secctl, TYPE_IOTKIT_SECCTL); > + object_initialize_child(obj, "apb-ppc0", &s->apb_ppc0, TYPE_TZ_PPC); > + object_initialize_child(obj, "apb-ppc1", &s->apb_ppc1, TYPE_TZ_PPC); > for (i = 0; i < info->sram_banks; i++) { > char *name = g_strdup_printf("mpc%d", i); > - sysbus_init_child_obj(obj, name, &s->mpc[i], > - sizeof(s->mpc[i]), TYPE_TZ_MPC); > + object_initialize_child(obj, name, &s->mpc[i], TYPE_TZ_MPC); > g_free(name); > } > object_initialize_child(obj, "mpc-irq-orgate", &s->mpc_irq_orgate, > @@ -296,24 +292,22 @@ static void armsse_init(Object *obj) > object_initialize_child(obj, name, splitter, TYPE_SPLIT_IRQ); > g_free(name); > } > - sysbus_init_child_obj(obj, "timer0", &s->timer0, sizeof(s->timer0), > - TYPE_CMSDK_APB_TIMER); > - sysbus_init_child_obj(obj, "timer1", &s->timer1, sizeof(s->timer1), > - TYPE_CMSDK_APB_TIMER); > - sysbus_init_child_obj(obj, "s32ktimer", &s->s32ktimer, sizeof(s->s32ktimer), > - TYPE_CMSDK_APB_TIMER); > - sysbus_init_child_obj(obj, "dualtimer", &s->dualtimer, sizeof(s->dualtimer), > - TYPE_CMSDK_APB_DUALTIMER); > - sysbus_init_child_obj(obj, "s32kwatchdog", &s->s32kwatchdog, > - sizeof(s->s32kwatchdog), TYPE_CMSDK_APB_WATCHDOG); > - sysbus_init_child_obj(obj, "nswatchdog", &s->nswatchdog, > - sizeof(s->nswatchdog), TYPE_CMSDK_APB_WATCHDOG); > - sysbus_init_child_obj(obj, "swatchdog", &s->swatchdog, > - sizeof(s->swatchdog), TYPE_CMSDK_APB_WATCHDOG); > - sysbus_init_child_obj(obj, "armsse-sysctl", &s->sysctl, > - sizeof(s->sysctl), TYPE_IOTKIT_SYSCTL); > - sysbus_init_child_obj(obj, "armsse-sysinfo", &s->sysinfo, > - sizeof(s->sysinfo), TYPE_IOTKIT_SYSINFO); > + object_initialize_child(obj, "timer0", &s->timer0, TYPE_CMSDK_APB_TIMER); > + object_initialize_child(obj, "timer1", &s->timer1, TYPE_CMSDK_APB_TIMER); > + object_initialize_child(obj, "s32ktimer", &s->s32ktimer, > + TYPE_CMSDK_APB_TIMER); > + object_initialize_child(obj, "dualtimer", &s->dualtimer, > + TYPE_CMSDK_APB_DUALTIMER); > + object_initialize_child(obj, "s32kwatchdog", &s->s32kwatchdog, > + TYPE_CMSDK_APB_WATCHDOG); > + object_initialize_child(obj, "nswatchdog", &s->nswatchdog, > + TYPE_CMSDK_APB_WATCHDOG); > + object_initialize_child(obj, "swatchdog", &s->swatchdog, > + TYPE_CMSDK_APB_WATCHDOG); > + object_initialize_child(obj, "armsse-sysctl", &s->sysctl, > + TYPE_IOTKIT_SYSCTL); > + object_initialize_child(obj, "armsse-sysinfo", &s->sysinfo, > + TYPE_IOTKIT_SYSINFO); > if (info->has_mhus) { > sysbus_init_child_obj(obj, "mhu0", &s->mhu[0], sizeof(s->mhu[0]), > TYPE_ARMSSE_MHU); > @@ -347,9 +341,8 @@ static void armsse_init(Object *obj) > for (i = 0; i < info->num_cpus; i++) { > char *name = g_strdup_printf("cachectrl%d", i); > > - sysbus_init_child_obj(obj, name, &s->cachectrl[i], > - sizeof(s->cachectrl[i]), > - TYPE_UNIMPLEMENTED_DEVICE); > + object_initialize_child(obj, name, &s->cachectrl[i], > + TYPE_UNIMPLEMENTED_DEVICE); > g_free(name); > } > } > @@ -357,9 +350,8 @@ static void armsse_init(Object *obj) > for (i = 0; i < info->num_cpus; i++) { > char *name = g_strdup_printf("cpusecctrl%d", i); > > - sysbus_init_child_obj(obj, name, &s->cpusecctrl[i], > - sizeof(s->cpusecctrl[i]), > - TYPE_UNIMPLEMENTED_DEVICE); > + object_initialize_child(obj, name, &s->cpusecctrl[i], > + TYPE_UNIMPLEMENTED_DEVICE); > g_free(name); > } > } > @@ -367,9 +359,8 @@ static void armsse_init(Object *obj) > for (i = 0; i < info->num_cpus; i++) { > char *name = g_strdup_printf("cpuid%d", i); > > - sysbus_init_child_obj(obj, name, &s->cpuid[i], > - sizeof(s->cpuid[i]), > - TYPE_ARMSSE_CPUID); > + object_initialize_child(obj, name, &s->cpuid[i], > + TYPE_ARMSSE_CPUID); > g_free(name); > } > } > @@ -670,7 +661,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > } > > /* Security controller */ > - object_property_set_bool(OBJECT(&s->secctl), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->secctl), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -722,7 +713,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->mpc[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->mpc[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -765,7 +756,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > * map its upstream ends to the right place in the container. > */ > qdev_prop_set_uint32(DEVICE(&s->timer0), "pclk-frq", s->mainclk_frq); > - object_property_set_bool(OBJECT(&s->timer0), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer0), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -780,7 +771,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > } > > qdev_prop_set_uint32(DEVICE(&s->timer1), "pclk-frq", s->mainclk_frq); > - object_property_set_bool(OBJECT(&s->timer1), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer1), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -796,7 +787,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > > > qdev_prop_set_uint32(DEVICE(&s->dualtimer), "pclk-frq", s->mainclk_frq); > - object_property_set_bool(OBJECT(&s->dualtimer), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->dualtimer), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -857,7 +848,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > } > } > > - object_property_set_bool(OBJECT(&s->apb_ppc0), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc0), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -930,8 +921,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > qdev_prop_set_string(DEVICE(&s->cachectrl[i]), "name", name); > g_free(name); > qdev_prop_set_uint64(DEVICE(&s->cachectrl[i]), "size", 0x1000); > - object_property_set_bool(OBJECT(&s->cachectrl[i]), true, > - "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->cachectrl[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -949,8 +939,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > qdev_prop_set_string(DEVICE(&s->cpusecctrl[i]), "name", name); > g_free(name); > qdev_prop_set_uint64(DEVICE(&s->cpusecctrl[i]), "size", 0x1000); > - object_property_set_bool(OBJECT(&s->cpusecctrl[i]), true, > - "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->cpusecctrl[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -965,8 +954,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > MemoryRegion *mr; > > qdev_prop_set_uint32(DEVICE(&s->cpuid[i]), "CPUID", i); > - object_property_set_bool(OBJECT(&s->cpuid[i]), true, > - "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->cpuid[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -982,7 +970,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > * 0x4002f000: S32K timer > */ > qdev_prop_set_uint32(DEVICE(&s->s32ktimer), "pclk-frq", S32KCLK); > - object_property_set_bool(OBJECT(&s->s32ktimer), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->s32ktimer), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -996,7 +984,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > return; > } > > - object_property_set_bool(OBJECT(&s->apb_ppc1), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc1), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -1034,7 +1022,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->sysinfo), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sysinfo), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -1050,7 +1038,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > "INITSVTOR0_RST", &err); > object_property_set_int(OBJECT(&s->sysctl), s->init_svtor, > "INITSVTOR1_RST", &err); > - object_property_set_bool(OBJECT(&s->sysctl), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sysctl), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -1094,7 +1082,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > qdev_get_gpio_in_named(DEVICE(&s->armv7m), "NMI", 0)); > > qdev_prop_set_uint32(DEVICE(&s->s32kwatchdog), "wdogclk-frq", S32KCLK); > - object_property_set_bool(OBJECT(&s->s32kwatchdog), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->s32kwatchdog), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -1106,7 +1094,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > /* 0x40080000 .. 0x4008ffff : ARMSSE second Base peripheral region */ > > qdev_prop_set_uint32(DEVICE(&s->nswatchdog), "wdogclk-frq", s->mainclk_frq); > - object_property_set_bool(OBJECT(&s->nswatchdog), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->nswatchdog), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -1116,7 +1104,7 @@ static void armsse_realize(DeviceState *dev, Error **errp) > sysbus_mmio_map(SYS_BUS_DEVICE(&s->nswatchdog), 0, 0x40081000); > > qdev_prop_set_uint32(DEVICE(&s->swatchdog), "wdogclk-frq", s->mainclk_frq); > - object_property_set_bool(OBJECT(&s->swatchdog), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->swatchdog), &err); > if (err) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c > index f930619f53..6fd672e7d9 100644 > --- a/hw/arm/armv7m.c > +++ b/hw/arm/armv7m.c > @@ -136,7 +136,7 @@ static void armv7m_instance_init(Object *obj) > > memory_region_init(&s->container, obj, "armv7m-container", UINT64_MAX); > > - sysbus_init_child_obj(obj, "nvnic", &s->nvic, sizeof(s->nvic), TYPE_NVIC); > + object_initialize_child(obj, "nvnic", &s->nvic, TYPE_NVIC); > object_property_add_alias(obj, "num-irq", > OBJECT(&s->nvic), "num-irq"); > > @@ -223,7 +223,7 @@ static void armv7m_realize(DeviceState *dev, Error **errp) > } > > /* Note that we must realize the NVIC after the CPU */ > - object_property_set_bool(OBJECT(&s->nvic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->nvic), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c > index ec9bde5898..a38b66de46 100644 > --- a/hw/arm/aspeed_ast2600.c > +++ b/hw/arm/aspeed_ast2600.c > @@ -131,7 +131,7 @@ static void aspeed_soc_ast2600_init(Object *obj) > } > > snprintf(typename, sizeof(typename), "aspeed.scu-%s", socname); > - sysbus_init_child_obj(obj, "scu", &s->scu, sizeof(s->scu), typename); > + object_initialize_child(obj, "scu", &s->scu, typename); > qdev_prop_set_uint32(DEVICE(&s->scu), "silicon-rev", > sc->silicon_rev); > object_property_add_alias(obj, "hw-strap1", OBJECT(&s->scu), > @@ -141,36 +141,33 @@ static void aspeed_soc_ast2600_init(Object *obj) > object_property_add_alias(obj, "hw-prot-key", OBJECT(&s->scu), > "hw-prot-key"); > > - sysbus_init_child_obj(obj, "a7mpcore", &s->a7mpcore, > - sizeof(s->a7mpcore), TYPE_A15MPCORE_PRIV); > + object_initialize_child(obj, "a7mpcore", &s->a7mpcore, > + TYPE_A15MPCORE_PRIV); > > - sysbus_init_child_obj(obj, "rtc", &s->rtc, sizeof(s->rtc), > - TYPE_ASPEED_RTC); > + object_initialize_child(obj, "rtc", &s->rtc, TYPE_ASPEED_RTC); > > snprintf(typename, sizeof(typename), "aspeed.timer-%s", socname); > - sysbus_init_child_obj(obj, "timerctrl", &s->timerctrl, > - sizeof(s->timerctrl), typename); > + object_initialize_child(obj, "timerctrl", &s->timerctrl, typename); > > snprintf(typename, sizeof(typename), "aspeed.i2c-%s", socname); > - sysbus_init_child_obj(obj, "i2c", &s->i2c, sizeof(s->i2c), typename); > + object_initialize_child(obj, "i2c", &s->i2c, typename); > > snprintf(typename, sizeof(typename), "aspeed.fmc-%s", socname); > - sysbus_init_child_obj(obj, "fmc", &s->fmc, sizeof(s->fmc), typename); > + object_initialize_child(obj, "fmc", &s->fmc, typename); > object_property_add_alias(obj, "num-cs", OBJECT(&s->fmc), "num-cs"); > > for (i = 0; i < sc->spis_num; i++) { > snprintf(typename, sizeof(typename), "aspeed.spi%d-%s", i + 1, socname); > - sysbus_init_child_obj(obj, "spi[*]", &s->spi[i], > - sizeof(s->spi[i]), typename); > + object_initialize_child(obj, "spi[*]", &s->spi[i], typename); > } > > for (i = 0; i < sc->ehcis_num; i++) { > - sysbus_init_child_obj(obj, "ehci[*]", &s->ehci[i], > - sizeof(s->ehci[i]), TYPE_PLATFORM_EHCI); > + object_initialize_child(obj, "ehci[*]", &s->ehci[i], > + TYPE_PLATFORM_EHCI); > } > > snprintf(typename, sizeof(typename), "aspeed.sdmc-%s", socname); > - sysbus_init_child_obj(obj, "sdmc", &s->sdmc, sizeof(s->sdmc), typename); > + object_initialize_child(obj, "sdmc", &s->sdmc, typename); > object_property_add_alias(obj, "ram-size", OBJECT(&s->sdmc), > "ram-size"); > object_property_add_alias(obj, "max-ram-size", OBJECT(&s->sdmc), > @@ -178,30 +175,26 @@ static void aspeed_soc_ast2600_init(Object *obj) > > for (i = 0; i < sc->wdts_num; i++) { > snprintf(typename, sizeof(typename), "aspeed.wdt-%s", socname); > - sysbus_init_child_obj(obj, "wdt[*]", &s->wdt[i], > - sizeof(s->wdt[i]), typename); > + object_initialize_child(obj, "wdt[*]", &s->wdt[i], typename); > } > > for (i = 0; i < nb_nics && i < sc->macs_num; i++) { > - sysbus_init_child_obj(obj, "ftgmac100[*]", &s->ftgmac100[i], > - sizeof(s->ftgmac100[i]), TYPE_FTGMAC100); > + object_initialize_child(obj, "ftgmac100[*]", &s->ftgmac100[i], > + TYPE_FTGMAC100); > > - sysbus_init_child_obj(obj, "mii[*]", &s->mii[i], sizeof(s->mii[i]), > - TYPE_ASPEED_MII); > + object_initialize_child(obj, "mii[*]", &s->mii[i], TYPE_ASPEED_MII); > } > > - sysbus_init_child_obj(obj, "xdma", &s->xdma, sizeof(s->xdma), > - TYPE_ASPEED_XDMA); > + object_initialize_child(obj, "xdma", &s->xdma, TYPE_ASPEED_XDMA); > > snprintf(typename, sizeof(typename), "aspeed.gpio-%s", socname); > - sysbus_init_child_obj(obj, "gpio", &s->gpio, sizeof(s->gpio), typename); > + object_initialize_child(obj, "gpio", &s->gpio, typename); > > snprintf(typename, sizeof(typename), "aspeed.gpio-%s-1_8v", socname); > - sysbus_init_child_obj(obj, "gpio_1_8v", &s->gpio_1_8v, > - sizeof(s->gpio_1_8v), typename); > + object_initialize_child(obj, "gpio_1_8v", &s->gpio_1_8v, typename); > > - sysbus_init_child_obj(obj, "sd-controller", &s->sdhci, > - sizeof(s->sdhci), TYPE_ASPEED_SDHCI); > + object_initialize_child(obj, "sd-controller", &s->sdhci, > + TYPE_ASPEED_SDHCI); > > object_property_set_int(OBJECT(&s->sdhci), 2, "num-slots", &error_abort); > > @@ -212,8 +205,8 @@ static void aspeed_soc_ast2600_init(Object *obj) > sizeof(s->sdhci.slots[i]), TYPE_SYSBUS_SDHCI); > } > > - sysbus_init_child_obj(obj, "emmc-controller", &s->emmc, > - sizeof(s->emmc), TYPE_ASPEED_SDHCI); > + object_initialize_child(obj, "emmc-controller", &s->emmc, > + TYPE_ASPEED_SDHCI); > > object_property_set_int(OBJECT(&s->emmc), 1, "num-slots", &error_abort); > > @@ -290,8 +283,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > ASPEED_SOC_AST2600_MAX_IRQ + GIC_INTERNAL, > "num-irq", &error_abort); > > - object_property_set_bool(OBJECT(&s->a7mpcore), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->a7mpcore), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->a7mpcore), 0, ASPEED_A7MPCORE_ADDR); > > for (i = 0; i < s->num_cpus; i++) { > @@ -319,7 +311,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > sc->memmap[ASPEED_SRAM], &s->sram); > > /* SCU */ > - object_property_set_bool(OBJECT(&s->scu), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -327,7 +319,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > sysbus_mmio_map(SYS_BUS_DEVICE(&s->scu), 0, sc->memmap[ASPEED_SCU]); > > /* RTC */ > - object_property_set_bool(OBJECT(&s->rtc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -339,7 +331,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > /* Timer */ > object_property_set_link(OBJECT(&s->timerctrl), > OBJECT(&s->scu), "scu", &error_abort); > - object_property_set_bool(OBJECT(&s->timerctrl), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -364,7 +356,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->i2c), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->i2c), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -392,7 +384,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->fmc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->fmc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -412,8 +404,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > return; > } > object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", &err); > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", > - &local_err); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &local_err); > error_propagate(&err, local_err); > if (err) { > error_propagate(errp, err); > @@ -427,7 +418,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > > /* EHCI */ > for (i = 0; i < sc->ehcis_num; i++) { > - object_property_set_bool(OBJECT(&s->ehci[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -439,7 +430,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > } > > /* SDMC - SDRAM Memory Controller */ > - object_property_set_bool(OBJECT(&s->sdmc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -452,7 +443,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > > object_property_set_link(OBJECT(&s->wdt[i]), > OBJECT(&s->scu), "scu", &error_abort); > - object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -466,8 +457,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > qdev_set_nic_properties(DEVICE(&s->ftgmac100[i]), &nd_table[i]); > object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed", > &err); > - object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "realized", > - &local_err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), &local_err); > error_propagate(&err, local_err); > if (err) { > error_propagate(errp, err); > @@ -480,8 +470,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > > object_property_set_link(OBJECT(&s->mii[i]), OBJECT(&s->ftgmac100[i]), > "nic", &error_abort); > - object_property_set_bool(OBJECT(&s->mii[i]), true, "realized", > - &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->mii[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -492,7 +481,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > } > > /* XDMA */ > - object_property_set_bool(OBJECT(&s->xdma), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->xdma), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -503,7 +492,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > aspeed_soc_get_irq(s, ASPEED_XDMA)); > > /* GPIO */ > - object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -512,7 +501,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > sysbus_connect_irq(SYS_BUS_DEVICE(&s->gpio), 0, > aspeed_soc_get_irq(s, ASPEED_GPIO)); > > - object_property_set_bool(OBJECT(&s->gpio_1_8v), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio_1_8v), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -523,7 +512,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > aspeed_soc_get_irq(s, ASPEED_GPIO_1_8V)); > > /* SDHCI */ > - object_property_set_bool(OBJECT(&s->sdhci), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -534,7 +523,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > aspeed_soc_get_irq(s, ASPEED_SDHCI)); > > /* eMMC */ > - object_property_set_bool(OBJECT(&s->emmc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->emmc), &err); > if (err) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c > index 1e434a10ea..175b220c97 100644 > --- a/hw/arm/aspeed_soc.c > +++ b/hw/arm/aspeed_soc.c > @@ -146,7 +146,7 @@ static void aspeed_soc_init(Object *obj) > } > > snprintf(typename, sizeof(typename), "aspeed.scu-%s", socname); > - sysbus_init_child_obj(obj, "scu", &s->scu, sizeof(s->scu), typename); > + object_initialize_child(obj, "scu", &s->scu, typename); > qdev_prop_set_uint32(DEVICE(&s->scu), "silicon-rev", > sc->silicon_rev); > object_property_add_alias(obj, "hw-strap1", OBJECT(&s->scu), > @@ -156,36 +156,32 @@ static void aspeed_soc_init(Object *obj) > object_property_add_alias(obj, "hw-prot-key", OBJECT(&s->scu), > "hw-prot-key"); > > - sysbus_init_child_obj(obj, "vic", &s->vic, sizeof(s->vic), > - TYPE_ASPEED_VIC); > + object_initialize_child(obj, "vic", &s->vic, TYPE_ASPEED_VIC); > > - sysbus_init_child_obj(obj, "rtc", &s->rtc, sizeof(s->rtc), > - TYPE_ASPEED_RTC); > + object_initialize_child(obj, "rtc", &s->rtc, TYPE_ASPEED_RTC); > > snprintf(typename, sizeof(typename), "aspeed.timer-%s", socname); > - sysbus_init_child_obj(obj, "timerctrl", &s->timerctrl, > - sizeof(s->timerctrl), typename); > + object_initialize_child(obj, "timerctrl", &s->timerctrl, typename); > > snprintf(typename, sizeof(typename), "aspeed.i2c-%s", socname); > - sysbus_init_child_obj(obj, "i2c", &s->i2c, sizeof(s->i2c), typename); > + object_initialize_child(obj, "i2c", &s->i2c, typename); > > snprintf(typename, sizeof(typename), "aspeed.fmc-%s", socname); > - sysbus_init_child_obj(obj, "fmc", &s->fmc, sizeof(s->fmc), typename); > + object_initialize_child(obj, "fmc", &s->fmc, typename); > object_property_add_alias(obj, "num-cs", OBJECT(&s->fmc), "num-cs"); > > for (i = 0; i < sc->spis_num; i++) { > snprintf(typename, sizeof(typename), "aspeed.spi%d-%s", i + 1, socname); > - sysbus_init_child_obj(obj, "spi[*]", &s->spi[i], > - sizeof(s->spi[i]), typename); > + object_initialize_child(obj, "spi[*]", &s->spi[i], typename); > } > > for (i = 0; i < sc->ehcis_num; i++) { > - sysbus_init_child_obj(obj, "ehci[*]", &s->ehci[i], > - sizeof(s->ehci[i]), TYPE_PLATFORM_EHCI); > + object_initialize_child(obj, "ehci[*]", &s->ehci[i], > + TYPE_PLATFORM_EHCI); > } > > snprintf(typename, sizeof(typename), "aspeed.sdmc-%s", socname); > - sysbus_init_child_obj(obj, "sdmc", &s->sdmc, sizeof(s->sdmc), typename); > + object_initialize_child(obj, "sdmc", &s->sdmc, typename); > object_property_add_alias(obj, "ram-size", OBJECT(&s->sdmc), > "ram-size"); > object_property_add_alias(obj, "max-ram-size", OBJECT(&s->sdmc), > @@ -193,23 +189,20 @@ static void aspeed_soc_init(Object *obj) > > for (i = 0; i < sc->wdts_num; i++) { > snprintf(typename, sizeof(typename), "aspeed.wdt-%s", socname); > - sysbus_init_child_obj(obj, "wdt[*]", &s->wdt[i], > - sizeof(s->wdt[i]), typename); > + object_initialize_child(obj, "wdt[*]", &s->wdt[i], typename); > } > > for (i = 0; i < nb_nics && i < sc->macs_num; i++) { > - sysbus_init_child_obj(obj, "ftgmac100[*]", &s->ftgmac100[i], > - sizeof(s->ftgmac100[i]), TYPE_FTGMAC100); > + object_initialize_child(obj, "ftgmac100[*]", &s->ftgmac100[i], > + TYPE_FTGMAC100); > } > > - sysbus_init_child_obj(obj, "xdma", &s->xdma, sizeof(s->xdma), > - TYPE_ASPEED_XDMA); > + object_initialize_child(obj, "xdma", &s->xdma, TYPE_ASPEED_XDMA); > > snprintf(typename, sizeof(typename), "aspeed.gpio-%s", socname); > - sysbus_init_child_obj(obj, "gpio", &s->gpio, sizeof(s->gpio), typename); > + object_initialize_child(obj, "gpio", &s->gpio, typename); > > - sysbus_init_child_obj(obj, "sdc", &s->sdhci, sizeof(s->sdhci), > - TYPE_ASPEED_SDHCI); > + object_initialize_child(obj, "sdc", &s->sdhci, TYPE_ASPEED_SDHCI); > > object_property_set_int(OBJECT(&s->sdhci), 2, "num-slots", &error_abort); > > @@ -261,7 +254,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > sc->memmap[ASPEED_SRAM], &s->sram); > > /* SCU */ > - object_property_set_bool(OBJECT(&s->scu), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -269,7 +262,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > sysbus_mmio_map(SYS_BUS_DEVICE(&s->scu), 0, sc->memmap[ASPEED_SCU]); > > /* VIC */ > - object_property_set_bool(OBJECT(&s->vic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->vic), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -281,7 +274,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); > > /* RTC */ > - object_property_set_bool(OBJECT(&s->rtc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -293,7 +286,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > /* Timer */ > object_property_set_link(OBJECT(&s->timerctrl), > OBJECT(&s->scu), "scu", &error_abort); > - object_property_set_bool(OBJECT(&s->timerctrl), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -318,7 +311,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->i2c), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->i2c), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -339,7 +332,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->fmc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->fmc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -353,8 +346,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > /* SPI */ > for (i = 0; i < sc->spis_num; i++) { > object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", &err); > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", > - &local_err); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &local_err); > error_propagate(&err, local_err); > if (err) { > error_propagate(errp, err); > @@ -368,7 +360,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > > /* EHCI */ > for (i = 0; i < sc->ehcis_num; i++) { > - object_property_set_bool(OBJECT(&s->ehci[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -380,7 +372,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > } > > /* SDMC - SDRAM Memory Controller */ > - object_property_set_bool(OBJECT(&s->sdmc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -393,7 +385,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > > object_property_set_link(OBJECT(&s->wdt[i]), > OBJECT(&s->scu), "scu", &error_abort); > - object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -407,8 +399,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > qdev_set_nic_properties(DEVICE(&s->ftgmac100[i]), &nd_table[i]); > object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed", > &err); > - object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "realized", > - &local_err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), &local_err); > error_propagate(&err, local_err); > if (err) { > error_propagate(errp, err); > @@ -421,7 +412,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > } > > /* XDMA */ > - object_property_set_bool(OBJECT(&s->xdma), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->xdma), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -432,7 +423,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > aspeed_soc_get_irq(s, ASPEED_XDMA)); > > /* GPIO */ > - object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -442,7 +433,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error **errp) > aspeed_soc_get_irq(s, ASPEED_GPIO)); > > /* SDHCI */ > - object_property_set_bool(OBJECT(&s->sdhci), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err); > if (err) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c > index 301e8f72c0..f071d7edfa 100644 > --- a/hw/arm/bcm2835_peripherals.c > +++ b/hw/arm/bcm2835_peripherals.c > @@ -53,37 +53,34 @@ static void bcm2835_peripherals_init(Object *obj) > MBOX_CHAN_COUNT << MBOX_AS_CHAN_SHIFT); > > /* Interrupt Controller */ > - sysbus_init_child_obj(obj, "ic", &s->ic, sizeof(s->ic), TYPE_BCM2835_IC); > + object_initialize_child(obj, "ic", &s->ic, TYPE_BCM2835_IC); > > /* SYS Timer */ > - sysbus_init_child_obj(obj, "systimer", &s->systmr, sizeof(s->systmr), > - TYPE_BCM2835_SYSTIMER); > + object_initialize_child(obj, "systimer", &s->systmr, > + TYPE_BCM2835_SYSTIMER); > > /* UART0 */ > - sysbus_init_child_obj(obj, "uart0", &s->uart0, sizeof(s->uart0), > - TYPE_PL011); > + object_initialize_child(obj, "uart0", &s->uart0, TYPE_PL011); > > /* AUX / UART1 */ > - sysbus_init_child_obj(obj, "aux", &s->aux, sizeof(s->aux), > - TYPE_BCM2835_AUX); > + object_initialize_child(obj, "aux", &s->aux, TYPE_BCM2835_AUX); > > /* Mailboxes */ > - sysbus_init_child_obj(obj, "mbox", &s->mboxes, sizeof(s->mboxes), > - TYPE_BCM2835_MBOX); > + object_initialize_child(obj, "mbox", &s->mboxes, TYPE_BCM2835_MBOX); > > object_property_add_const_link(OBJECT(&s->mboxes), "mbox-mr", > OBJECT(&s->mbox_mr)); > > /* Framebuffer */ > - sysbus_init_child_obj(obj, "fb", &s->fb, sizeof(s->fb), TYPE_BCM2835_FB); > + object_initialize_child(obj, "fb", &s->fb, TYPE_BCM2835_FB); > object_property_add_alias(obj, "vcram-size", OBJECT(&s->fb), "vcram-size"); > > object_property_add_const_link(OBJECT(&s->fb), "dma-mr", > OBJECT(&s->gpu_bus_mr)); > > /* Property channel */ > - sysbus_init_child_obj(obj, "property", &s->property, sizeof(s->property), > - TYPE_BCM2835_PROPERTY); > + object_initialize_child(obj, "property", &s->property, > + TYPE_BCM2835_PROPERTY); > object_property_add_alias(obj, "board-rev", OBJECT(&s->property), > "board-rev"); > > @@ -93,31 +90,25 @@ static void bcm2835_peripherals_init(Object *obj) > OBJECT(&s->gpu_bus_mr)); > > /* Random Number Generator */ > - sysbus_init_child_obj(obj, "rng", &s->rng, sizeof(s->rng), > - TYPE_BCM2835_RNG); > + object_initialize_child(obj, "rng", &s->rng, TYPE_BCM2835_RNG); > > /* Extended Mass Media Controller */ > - sysbus_init_child_obj(obj, "sdhci", &s->sdhci, sizeof(s->sdhci), > - TYPE_SYSBUS_SDHCI); > + object_initialize_child(obj, "sdhci", &s->sdhci, TYPE_SYSBUS_SDHCI); > > /* SDHOST */ > - sysbus_init_child_obj(obj, "sdhost", &s->sdhost, sizeof(s->sdhost), > - TYPE_BCM2835_SDHOST); > + object_initialize_child(obj, "sdhost", &s->sdhost, TYPE_BCM2835_SDHOST); > > /* DMA Channels */ > - sysbus_init_child_obj(obj, "dma", &s->dma, sizeof(s->dma), > - TYPE_BCM2835_DMA); > + object_initialize_child(obj, "dma", &s->dma, TYPE_BCM2835_DMA); > > object_property_add_const_link(OBJECT(&s->dma), "dma-mr", > OBJECT(&s->gpu_bus_mr)); > > /* Thermal */ > - sysbus_init_child_obj(obj, "thermal", &s->thermal, sizeof(s->thermal), > - TYPE_BCM2835_THERMAL); > + object_initialize_child(obj, "thermal", &s->thermal, TYPE_BCM2835_THERMAL); > > /* GPIO */ > - sysbus_init_child_obj(obj, "gpio", &s->gpio, sizeof(s->gpio), > - TYPE_BCM2835_GPIO); > + object_initialize_child(obj, "gpio", &s->gpio, TYPE_BCM2835_GPIO); > > object_property_add_const_link(OBJECT(&s->gpio), "sdbus-sdhci", > OBJECT(&s->sdhci.sdbus)); > @@ -161,7 +152,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > } > > /* Interrupt Controller */ > - object_property_set_bool(OBJECT(&s->ic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ic), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -172,7 +163,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > sysbus_pass_irq(SYS_BUS_DEVICE(s), SYS_BUS_DEVICE(&s->ic)); > > /* Sys Timer */ > - object_property_set_bool(OBJECT(&s->systmr), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->systmr), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -185,7 +176,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > > /* UART0 */ > qdev_prop_set_chr(DEVICE(&s->uart0), "chardev", serial_hd(0)); > - object_property_set_bool(OBJECT(&s->uart0), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart0), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -200,7 +191,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > /* AUX / UART1 */ > qdev_prop_set_chr(DEVICE(&s->aux), "chardev", serial_hd(1)); > > - object_property_set_bool(OBJECT(&s->aux), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->aux), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -213,7 +204,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > INTERRUPT_AUX)); > > /* Mailboxes */ > - object_property_set_bool(OBJECT(&s->mboxes), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->mboxes), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -239,7 +230,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > return; > } > > - object_property_set_bool(OBJECT(&s->fb), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->fb), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -251,7 +242,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > qdev_get_gpio_in(DEVICE(&s->mboxes), MBOX_CHAN_FB)); > > /* Property channel */ > - object_property_set_bool(OBJECT(&s->property), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->property), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -264,7 +255,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > qdev_get_gpio_in(DEVICE(&s->mboxes), MBOX_CHAN_PROPERTY)); > > /* Random Number Generator */ > - object_property_set_bool(OBJECT(&s->rng), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->rng), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -293,7 +284,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > return; > } > > - object_property_set_bool(OBJECT(&s->sdhci), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -306,7 +297,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > INTERRUPT_ARASANSDIO)); > > /* SDHOST */ > - object_property_set_bool(OBJECT(&s->sdhost), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sdhost), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -319,7 +310,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > INTERRUPT_SDIO)); > > /* DMA Channels */ > - object_property_set_bool(OBJECT(&s->dma), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->dma), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -338,7 +329,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > } > > /* THERMAL */ > - object_property_set_bool(OBJECT(&s->thermal), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->thermal), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -347,7 +338,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp) > sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->thermal), 0)); > > /* GPIO */ > - object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); > if (err) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c > index 82cd1d2df8..39a63f2565 100644 > --- a/hw/arm/bcm2836.c > +++ b/hw/arm/bcm2836.c > @@ -56,11 +56,10 @@ static void bcm2836_init(Object *obj) > info->cpu_type); > } > > - sysbus_init_child_obj(obj, "control", &s->control, sizeof(s->control), > - TYPE_BCM2836_CONTROL); > + object_initialize_child(obj, "control", &s->control, TYPE_BCM2836_CONTROL); > > - sysbus_init_child_obj(obj, "peripherals", &s->peripherals, > - sizeof(s->peripherals), TYPE_BCM2835_PERIPHERALS); > + object_initialize_child(obj, "peripherals", &s->peripherals, > + TYPE_BCM2835_PERIPHERALS); > object_property_add_alias(obj, "board-rev", OBJECT(&s->peripherals), > "board-rev"); > object_property_add_alias(obj, "vcram-size", OBJECT(&s->peripherals), > @@ -87,7 +86,7 @@ static void bcm2836_realize(DeviceState *dev, Error **errp) > > object_property_add_const_link(OBJECT(&s->peripherals), "ram", obj); > > - object_property_set_bool(OBJECT(&s->peripherals), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->peripherals), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -100,7 +99,7 @@ static void bcm2836_realize(DeviceState *dev, Error **errp) > info->peri_base, 1); > > /* bcm2836 interrupt controller (and mailboxes, etc.) */ > - object_property_set_bool(OBJECT(&s->control), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->control), &err); > if (err) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/digic.c b/hw/arm/digic.c > index 6153d5f108..13acd2cf6e 100644 > --- a/hw/arm/digic.c > +++ b/hw/arm/digic.c > @@ -43,12 +43,10 @@ static void digic_init(Object *obj) > char name[DIGIC_TIMER_NAME_MLEN]; > > snprintf(name, DIGIC_TIMER_NAME_MLEN, "timer[%d]", i); > - sysbus_init_child_obj(obj, name, &s->timer[i], sizeof(s->timer[i]), > - TYPE_DIGIC_TIMER); > + object_initialize_child(obj, name, &s->timer[i], TYPE_DIGIC_TIMER); > } > > - sysbus_init_child_obj(obj, "uart", &s->uart, sizeof(s->uart), > - TYPE_DIGIC_UART); > + object_initialize_child(obj, "uart", &s->uart, TYPE_DIGIC_UART); > } > > static void digic_realize(DeviceState *dev, Error **errp) > @@ -71,7 +69,7 @@ static void digic_realize(DeviceState *dev, Error **errp) > } > > for (i = 0; i < DIGIC4_NB_TIMERS; i++) { > - object_property_set_bool(OBJECT(&s->timer[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -82,7 +80,7 @@ static void digic_realize(DeviceState *dev, Error **errp) > } > > qdev_prop_set_chr(DEVICE(&s->uart), "chardev", serial_hd(0)); > - object_property_set_bool(OBJECT(&s->uart), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c > index 497c83fdca..068e42327b 100644 > --- a/hw/arm/fsl-imx25.c > +++ b/hw/arm/fsl-imx25.c > @@ -40,49 +40,40 @@ static void fsl_imx25_init(Object *obj) > > object_initialize_child(obj, "cpu", &s->cpu, ARM_CPU_TYPE_NAME("arm926")); > > - sysbus_init_child_obj(obj, "avic", &s->avic, sizeof(s->avic), > - TYPE_IMX_AVIC); > + object_initialize_child(obj, "avic", &s->avic, TYPE_IMX_AVIC); > > - sysbus_init_child_obj(obj, "ccm", &s->ccm, sizeof(s->ccm), TYPE_IMX25_CCM); > + object_initialize_child(obj, "ccm", &s->ccm, TYPE_IMX25_CCM); > > for (i = 0; i < FSL_IMX25_NUM_UARTS; i++) { > - sysbus_init_child_obj(obj, "uart[*]", &s->uart[i], sizeof(s->uart[i]), > - TYPE_IMX_SERIAL); > + object_initialize_child(obj, "uart[*]", &s->uart[i], TYPE_IMX_SERIAL); > } > > for (i = 0; i < FSL_IMX25_NUM_GPTS; i++) { > - sysbus_init_child_obj(obj, "gpt[*]", &s->gpt[i], sizeof(s->gpt[i]), > - TYPE_IMX25_GPT); > + object_initialize_child(obj, "gpt[*]", &s->gpt[i], TYPE_IMX25_GPT); > } > > for (i = 0; i < FSL_IMX25_NUM_EPITS; i++) { > - sysbus_init_child_obj(obj, "epit[*]", &s->epit[i], sizeof(s->epit[i]), > - TYPE_IMX_EPIT); > + object_initialize_child(obj, "epit[*]", &s->epit[i], TYPE_IMX_EPIT); > } > > - sysbus_init_child_obj(obj, "fec", &s->fec, sizeof(s->fec), TYPE_IMX_FEC); > + object_initialize_child(obj, "fec", &s->fec, TYPE_IMX_FEC); > > - sysbus_init_child_obj(obj, "rngc", &s->rngc, sizeof(s->rngc), > - TYPE_IMX_RNGC); > + object_initialize_child(obj, "rngc", &s->rngc, TYPE_IMX_RNGC); > > for (i = 0; i < FSL_IMX25_NUM_I2CS; i++) { > - sysbus_init_child_obj(obj, "i2c[*]", &s->i2c[i], sizeof(s->i2c[i]), > - TYPE_IMX_I2C); > + object_initialize_child(obj, "i2c[*]", &s->i2c[i], TYPE_IMX_I2C); > } > > for (i = 0; i < FSL_IMX25_NUM_GPIOS; i++) { > - sysbus_init_child_obj(obj, "gpio[*]", &s->gpio[i], sizeof(s->gpio[i]), > - TYPE_IMX_GPIO); > + object_initialize_child(obj, "gpio[*]", &s->gpio[i], TYPE_IMX_GPIO); > } > > for (i = 0; i < FSL_IMX25_NUM_ESDHCS; i++) { > - sysbus_init_child_obj(obj, "sdhc[*]", &s->esdhc[i], sizeof(s->esdhc[i]), > - TYPE_IMX_USDHC); > + object_initialize_child(obj, "sdhc[*]", &s->esdhc[i], TYPE_IMX_USDHC); > } > > for (i = 0; i < FSL_IMX25_NUM_USBS; i++) { > - sysbus_init_child_obj(obj, "usb[*]", &s->usb[i], sizeof(s->usb[i]), > - TYPE_CHIPIDEA); > + object_initialize_child(obj, "usb[*]", &s->usb[i], TYPE_CHIPIDEA); > } > > } > @@ -99,7 +90,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > return; > } > > - object_property_set_bool(OBJECT(&s->avic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->avic), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -110,7 +101,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > sysbus_connect_irq(SYS_BUS_DEVICE(&s->avic), 1, > qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); > > - object_property_set_bool(OBJECT(&s->ccm), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -132,7 +123,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > > qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); > > - object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -157,7 +148,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > > s->gpt[i].ccm = IMX_CCM(&s->ccm); > > - object_property_set_bool(OBJECT(&s->gpt[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpt[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -180,7 +171,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > > s->epit[i].ccm = IMX_CCM(&s->ccm); > > - object_property_set_bool(OBJECT(&s->epit[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -193,7 +184,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > > qdev_set_nic_properties(DEVICE(&s->fec), &nd_table[0]); > > - object_property_set_bool(OBJECT(&s->fec), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->fec), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -202,7 +193,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > sysbus_connect_irq(SYS_BUS_DEVICE(&s->fec), 0, > qdev_get_gpio_in(DEVICE(&s->avic), FSL_IMX25_FEC_IRQ)); > > - object_property_set_bool(OBJECT(&s->rngc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->rngc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -222,7 +213,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > { FSL_IMX25_I2C3_ADDR, FSL_IMX25_I2C3_IRQ } > }; > > - object_property_set_bool(OBJECT(&s->i2c[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -245,7 +236,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > { FSL_IMX25_GPIO4_ADDR, FSL_IMX25_GPIO4_IRQ } > }; > > - object_property_set_bool(OBJECT(&s->gpio[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -271,7 +262,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > &err); > object_property_set_uint(OBJECT(&s->esdhc[i]), IMX25_ESDHC_CAPABILITIES, > "capareg", &err); > - object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -292,8 +283,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp) > { FSL_IMX25_USB2_ADDR, FSL_IMX25_USB2_IRQ }, > }; > > - object_property_set_bool(OBJECT(&s->usb[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->usb[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->usb[i]), 0, usb_table[i].addr); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i]), 0, > qdev_get_gpio_in(DEVICE(&s->avic), > diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c > index 5d5c320a00..bfda2a32e4 100644 > --- a/hw/arm/fsl-imx31.c > +++ b/hw/arm/fsl-imx31.c > @@ -35,31 +35,26 @@ static void fsl_imx31_init(Object *obj) > > object_initialize_child(obj, "cpu", &s->cpu, ARM_CPU_TYPE_NAME("arm1136")); > > - sysbus_init_child_obj(obj, "avic", &s->avic, sizeof(s->avic), > - TYPE_IMX_AVIC); > + object_initialize_child(obj, "avic", &s->avic, TYPE_IMX_AVIC); > > - sysbus_init_child_obj(obj, "ccm", &s->ccm, sizeof(s->ccm), TYPE_IMX31_CCM); > + object_initialize_child(obj, "ccm", &s->ccm, TYPE_IMX31_CCM); > > for (i = 0; i < FSL_IMX31_NUM_UARTS; i++) { > - sysbus_init_child_obj(obj, "uart[*]", &s->uart[i], sizeof(s->uart[i]), > - TYPE_IMX_SERIAL); > + object_initialize_child(obj, "uart[*]", &s->uart[i], TYPE_IMX_SERIAL); > } > > - sysbus_init_child_obj(obj, "gpt", &s->gpt, sizeof(s->gpt), TYPE_IMX31_GPT); > + object_initialize_child(obj, "gpt", &s->gpt, TYPE_IMX31_GPT); > > for (i = 0; i < FSL_IMX31_NUM_EPITS; i++) { > - sysbus_init_child_obj(obj, "epit[*]", &s->epit[i], sizeof(s->epit[i]), > - TYPE_IMX_EPIT); > + object_initialize_child(obj, "epit[*]", &s->epit[i], TYPE_IMX_EPIT); > } > > for (i = 0; i < FSL_IMX31_NUM_I2CS; i++) { > - sysbus_init_child_obj(obj, "i2c[*]", &s->i2c[i], sizeof(s->i2c[i]), > - TYPE_IMX_I2C); > + object_initialize_child(obj, "i2c[*]", &s->i2c[i], TYPE_IMX_I2C); > } > > for (i = 0; i < FSL_IMX31_NUM_GPIOS; i++) { > - sysbus_init_child_obj(obj, "gpio[*]", &s->gpio[i], sizeof(s->gpio[i]), > - TYPE_IMX_GPIO); > + object_initialize_child(obj, "gpio[*]", &s->gpio[i], TYPE_IMX_GPIO); > } > } > > @@ -75,7 +70,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) > return; > } > > - object_property_set_bool(OBJECT(&s->avic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->avic), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -86,7 +81,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) > sysbus_connect_irq(SYS_BUS_DEVICE(&s->avic), 1, > qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); > > - object_property_set_bool(OBJECT(&s->ccm), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -105,7 +100,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) > > qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); > > - object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -119,7 +114,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) > > s->gpt.ccm = IMX_CCM(&s->ccm); > > - object_property_set_bool(OBJECT(&s->gpt), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpt), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -141,7 +136,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) > > s->epit[i].ccm = IMX_CCM(&s->ccm); > > - object_property_set_bool(OBJECT(&s->epit[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -165,7 +160,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) > }; > > /* Initialize the I2C */ > - object_property_set_bool(OBJECT(&s->i2c[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -191,7 +186,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp) > > object_property_set_bool(OBJECT(&s->gpio[i]), false, "has-edge-sel", > &error_abort); > - object_property_set_bool(OBJECT(&s->gpio[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err); > if (err) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c > index 10c16b32b6..4aa0c0195a 100644 > --- a/hw/arm/fsl-imx6.c > +++ b/hw/arm/fsl-imx6.c > @@ -47,69 +47,59 @@ static void fsl_imx6_init(Object *obj) > ARM_CPU_TYPE_NAME("cortex-a9")); > } > > - sysbus_init_child_obj(obj, "a9mpcore", &s->a9mpcore, sizeof(s->a9mpcore), > - TYPE_A9MPCORE_PRIV); > + object_initialize_child(obj, "a9mpcore", &s->a9mpcore, TYPE_A9MPCORE_PRIV); > > - sysbus_init_child_obj(obj, "ccm", &s->ccm, sizeof(s->ccm), TYPE_IMX6_CCM); > + object_initialize_child(obj, "ccm", &s->ccm, TYPE_IMX6_CCM); > > - sysbus_init_child_obj(obj, "src", &s->src, sizeof(s->src), TYPE_IMX6_SRC); > + object_initialize_child(obj, "src", &s->src, TYPE_IMX6_SRC); > > for (i = 0; i < FSL_IMX6_NUM_UARTS; i++) { > snprintf(name, NAME_SIZE, "uart%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->uart[i], sizeof(s->uart[i]), > - TYPE_IMX_SERIAL); > + object_initialize_child(obj, name, &s->uart[i], TYPE_IMX_SERIAL); > } > > - sysbus_init_child_obj(obj, "gpt", &s->gpt, sizeof(s->gpt), TYPE_IMX6_GPT); > + object_initialize_child(obj, "gpt", &s->gpt, TYPE_IMX6_GPT); > > for (i = 0; i < FSL_IMX6_NUM_EPITS; i++) { > snprintf(name, NAME_SIZE, "epit%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->epit[i], sizeof(s->epit[i]), > - TYPE_IMX_EPIT); > + object_initialize_child(obj, name, &s->epit[i], TYPE_IMX_EPIT); > } > > for (i = 0; i < FSL_IMX6_NUM_I2CS; i++) { > snprintf(name, NAME_SIZE, "i2c%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->i2c[i], sizeof(s->i2c[i]), > - TYPE_IMX_I2C); > + object_initialize_child(obj, name, &s->i2c[i], TYPE_IMX_I2C); > } > > for (i = 0; i < FSL_IMX6_NUM_GPIOS; i++) { > snprintf(name, NAME_SIZE, "gpio%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->gpio[i], sizeof(s->gpio[i]), > - TYPE_IMX_GPIO); > + object_initialize_child(obj, name, &s->gpio[i], TYPE_IMX_GPIO); > } > > for (i = 0; i < FSL_IMX6_NUM_ESDHCS; i++) { > snprintf(name, NAME_SIZE, "sdhc%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->esdhc[i], sizeof(s->esdhc[i]), > - TYPE_IMX_USDHC); > + object_initialize_child(obj, name, &s->esdhc[i], TYPE_IMX_USDHC); > } > > for (i = 0; i < FSL_IMX6_NUM_USB_PHYS; i++) { > snprintf(name, NAME_SIZE, "usbphy%d", i); > - sysbus_init_child_obj(obj, name, &s->usbphy[i], sizeof(s->usbphy[i]), > - TYPE_IMX_USBPHY); > + object_initialize_child(obj, name, &s->usbphy[i], TYPE_IMX_USBPHY); > } > for (i = 0; i < FSL_IMX6_NUM_USBS; i++) { > snprintf(name, NAME_SIZE, "usb%d", i); > - sysbus_init_child_obj(obj, name, &s->usb[i], sizeof(s->usb[i]), > - TYPE_CHIPIDEA); > + object_initialize_child(obj, name, &s->usb[i], TYPE_CHIPIDEA); > } > > for (i = 0; i < FSL_IMX6_NUM_ECSPIS; i++) { > snprintf(name, NAME_SIZE, "spi%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->spi[i], sizeof(s->spi[i]), > - TYPE_IMX_SPI); > + object_initialize_child(obj, name, &s->spi[i], TYPE_IMX_SPI); > } > for (i = 0; i < FSL_IMX6_NUM_WDTS; i++) { > snprintf(name, NAME_SIZE, "wdt%d", i); > - sysbus_init_child_obj(obj, name, &s->wdt[i], sizeof(s->wdt[i]), > - TYPE_IMX2_WDT); > + object_initialize_child(obj, name, &s->wdt[i], TYPE_IMX2_WDT); > } > > > - sysbus_init_child_obj(obj, "eth", &s->eth, sizeof(s->eth), TYPE_IMX_ENET); > + object_initialize_child(obj, "eth", &s->eth, TYPE_IMX_ENET); > } > > static void fsl_imx6_realize(DeviceState *dev, Error **errp) > @@ -154,7 +144,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > FSL_IMX6_MAX_IRQ + GIC_INTERNAL, "num-irq", > &error_abort); > > - object_property_set_bool(OBJECT(&s->a9mpcore), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->a9mpcore), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -168,14 +158,14 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > qdev_get_gpio_in(DEVICE(&s->cpu[i]), ARM_CPU_FIQ)); > } > > - object_property_set_bool(OBJECT(&s->ccm), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err); > if (err) { > error_propagate(errp, err); > return; > } > sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX6_CCM_ADDR); > > - object_property_set_bool(OBJECT(&s->src), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->src), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -197,7 +187,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > > qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); > > - object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -211,7 +201,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > > s->gpt.ccm = IMX_CCM(&s->ccm); > > - object_property_set_bool(OBJECT(&s->gpt), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpt), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -234,7 +224,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > > s->epit[i].ccm = IMX_CCM(&s->ccm); > > - object_property_set_bool(OBJECT(&s->epit[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -257,7 +247,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > { FSL_IMX6_I2C3_ADDR, FSL_IMX6_I2C3_IRQ } > }; > > - object_property_set_bool(OBJECT(&s->i2c[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -317,7 +307,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > &error_abort); > object_property_set_bool(OBJECT(&s->gpio[i]), true, "has-upper-pin-irq", > &error_abort); > - object_property_set_bool(OBJECT(&s->gpio[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -349,7 +339,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > &err); > object_property_set_uint(OBJECT(&s->esdhc[i]), IMX6_ESDHC_CAPABILITIES, > "capareg", &err); > - object_property_set_bool(OBJECT(&s->esdhc[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -362,8 +352,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > > /* USB */ > for (i = 0; i < FSL_IMX6_NUM_USB_PHYS; i++) { > - object_property_set_bool(OBJECT(&s->usbphy[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->usbphy[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->usbphy[i]), 0, > FSL_IMX6_USBPHY1_ADDR + i * 0x1000); > } > @@ -375,8 +364,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > FSL_IMX6_USB_HOST3_IRQ, > }; > > - object_property_set_bool(OBJECT(&s->usb[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->usb[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->usb[i]), 0, > FSL_IMX6_USBOH3_USB_ADDR + i * 0x200); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i]), 0, > @@ -398,7 +386,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > }; > > /* Initialize the SPI */ > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -411,7 +399,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > } > > qdev_set_nic_properties(DEVICE(&s->eth), &nd_table[0]); > - object_property_set_bool(OBJECT(&s->eth), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->eth), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -433,8 +421,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp) > FSL_IMX6_WDOG2_ADDR, > }; > > - object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX6_WDOGn_ADDR[i]); > } > diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c > index c559c9b3bb..7f1ee06a91 100644 > --- a/hw/arm/fsl-imx6ul.c > +++ b/hw/arm/fsl-imx6ul.c > @@ -40,44 +40,40 @@ static void fsl_imx6ul_init(Object *obj) > /* > * A7MPCORE > */ > - sysbus_init_child_obj(obj, "a7mpcore", &s->a7mpcore, sizeof(s->a7mpcore), > - TYPE_A15MPCORE_PRIV); > + object_initialize_child(obj, "a7mpcore", &s->a7mpcore, > + TYPE_A15MPCORE_PRIV); > > /* > * CCM > */ > - sysbus_init_child_obj(obj, "ccm", &s->ccm, sizeof(s->ccm), TYPE_IMX6UL_CCM); > + object_initialize_child(obj, "ccm", &s->ccm, TYPE_IMX6UL_CCM); > > /* > * SRC > */ > - sysbus_init_child_obj(obj, "src", &s->src, sizeof(s->src), TYPE_IMX6_SRC); > + object_initialize_child(obj, "src", &s->src, TYPE_IMX6_SRC); > > /* > * GPCv2 > */ > - sysbus_init_child_obj(obj, "gpcv2", &s->gpcv2, sizeof(s->gpcv2), > - TYPE_IMX_GPCV2); > + object_initialize_child(obj, "gpcv2", &s->gpcv2, TYPE_IMX_GPCV2); > > /* > * SNVS > */ > - sysbus_init_child_obj(obj, "snvs", &s->snvs, sizeof(s->snvs), > - TYPE_IMX7_SNVS); > + object_initialize_child(obj, "snvs", &s->snvs, TYPE_IMX7_SNVS); > > /* > * GPR > */ > - sysbus_init_child_obj(obj, "gpr", &s->gpr, sizeof(s->gpr), > - TYPE_IMX7_GPR); > + object_initialize_child(obj, "gpr", &s->gpr, TYPE_IMX7_GPR); > > /* > * GPIOs 1 to 5 > */ > for (i = 0; i < FSL_IMX6UL_NUM_GPIOS; i++) { > snprintf(name, NAME_SIZE, "gpio%d", i); > - sysbus_init_child_obj(obj, name, &s->gpio[i], sizeof(s->gpio[i]), > - TYPE_IMX_GPIO); > + object_initialize_child(obj, name, &s->gpio[i], TYPE_IMX_GPIO); > } > > /* > @@ -85,8 +81,7 @@ static void fsl_imx6ul_init(Object *obj) > */ > for (i = 0; i < FSL_IMX6UL_NUM_GPTS; i++) { > snprintf(name, NAME_SIZE, "gpt%d", i); > - sysbus_init_child_obj(obj, name, &s->gpt[i], sizeof(s->gpt[i]), > - TYPE_IMX7_GPT); > + object_initialize_child(obj, name, &s->gpt[i], TYPE_IMX7_GPT); > } > > /* > @@ -94,8 +89,7 @@ static void fsl_imx6ul_init(Object *obj) > */ > for (i = 0; i < FSL_IMX6UL_NUM_EPITS; i++) { > snprintf(name, NAME_SIZE, "epit%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->epit[i], sizeof(s->epit[i]), > - TYPE_IMX_EPIT); > + object_initialize_child(obj, name, &s->epit[i], TYPE_IMX_EPIT); > } > > /* > @@ -103,8 +97,7 @@ static void fsl_imx6ul_init(Object *obj) > */ > for (i = 0; i < FSL_IMX6UL_NUM_ECSPIS; i++) { > snprintf(name, NAME_SIZE, "spi%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->spi[i], sizeof(s->spi[i]), > - TYPE_IMX_SPI); > + object_initialize_child(obj, name, &s->spi[i], TYPE_IMX_SPI); > } > > /* > @@ -112,8 +105,7 @@ static void fsl_imx6ul_init(Object *obj) > */ > for (i = 0; i < FSL_IMX6UL_NUM_I2CS; i++) { > snprintf(name, NAME_SIZE, "i2c%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->i2c[i], sizeof(s->i2c[i]), > - TYPE_IMX_I2C); > + object_initialize_child(obj, name, &s->i2c[i], TYPE_IMX_I2C); > } > > /* > @@ -121,8 +113,7 @@ static void fsl_imx6ul_init(Object *obj) > */ > for (i = 0; i < FSL_IMX6UL_NUM_UARTS; i++) { > snprintf(name, NAME_SIZE, "uart%d", i); > - sysbus_init_child_obj(obj, name, &s->uart[i], sizeof(s->uart[i]), > - TYPE_IMX_SERIAL); > + object_initialize_child(obj, name, &s->uart[i], TYPE_IMX_SERIAL); > } > > /* > @@ -130,20 +121,17 @@ static void fsl_imx6ul_init(Object *obj) > */ > for (i = 0; i < FSL_IMX6UL_NUM_ETHS; i++) { > snprintf(name, NAME_SIZE, "eth%d", i); > - sysbus_init_child_obj(obj, name, &s->eth[i], sizeof(s->eth[i]), > - TYPE_IMX_ENET); > + object_initialize_child(obj, name, &s->eth[i], TYPE_IMX_ENET); > } > > /* USB */ > for (i = 0; i < FSL_IMX6UL_NUM_USB_PHYS; i++) { > snprintf(name, NAME_SIZE, "usbphy%d", i); > - sysbus_init_child_obj(obj, name, &s->usbphy[i], sizeof(s->usbphy[i]), > - TYPE_IMX_USBPHY); > + object_initialize_child(obj, name, &s->usbphy[i], TYPE_IMX_USBPHY); > } > for (i = 0; i < FSL_IMX6UL_NUM_USBS; i++) { > snprintf(name, NAME_SIZE, "usb%d", i); > - sysbus_init_child_obj(obj, name, &s->usb[i], sizeof(s->usb[i]), > - TYPE_CHIPIDEA); > + object_initialize_child(obj, name, &s->usb[i], TYPE_CHIPIDEA); > } > > /* > @@ -151,8 +139,7 @@ static void fsl_imx6ul_init(Object *obj) > */ > for (i = 0; i < FSL_IMX6UL_NUM_USDHCS; i++) { > snprintf(name, NAME_SIZE, "usdhc%d", i); > - sysbus_init_child_obj(obj, name, &s->usdhc[i], sizeof(s->usdhc[i]), > - TYPE_IMX_USDHC); > + object_initialize_child(obj, name, &s->usdhc[i], TYPE_IMX_USDHC); > } > > /* > @@ -160,8 +147,7 @@ static void fsl_imx6ul_init(Object *obj) > */ > for (i = 0; i < FSL_IMX6UL_NUM_WDTS; i++) { > snprintf(name, NAME_SIZE, "wdt%d", i); > - sysbus_init_child_obj(obj, name, &s->wdt[i], sizeof(s->wdt[i]), > - TYPE_IMX2_WDT); > + object_initialize_child(obj, name, &s->wdt[i], TYPE_IMX2_WDT); > } > } > > @@ -192,8 +178,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > object_property_set_int(OBJECT(&s->a7mpcore), > FSL_IMX6UL_MAX_IRQ + GIC_INTERNAL, > "num-irq", &error_abort); > - object_property_set_bool(OBJECT(&s->a7mpcore), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->a7mpcore), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->a7mpcore), 0, FSL_IMX6UL_A7MPCORE_ADDR); > > sbd = SYS_BUS_DEVICE(&s->a7mpcore); > @@ -225,8 +210,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > }; > > s->gpt[i].ccm = IMX_CCM(&s->ccm); > - object_property_set_bool(OBJECT(&s->gpt[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpt[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpt[i]), 0, > FSL_IMX6UL_GPTn_ADDR[i]); > @@ -251,8 +235,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > }; > > s->epit[i].ccm = IMX_CCM(&s->ccm); > - object_property_set_bool(OBJECT(&s->epit[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->epit[i]), 0, > FSL_IMX6UL_EPITn_ADDR[i]); > @@ -290,8 +273,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > FSL_IMX6UL_GPIO5_HIGH_IRQ, > }; > > - object_property_set_bool(OBJECT(&s->gpio[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio[i]), 0, > FSL_IMX6UL_GPIOn_ADDR[i]); > @@ -321,20 +303,19 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > /* > * CCM > */ > - object_property_set_bool(OBJECT(&s->ccm), true, "realized", &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX6UL_CCM_ADDR); > > /* > * SRC > */ > - object_property_set_bool(OBJECT(&s->src), true, "realized", &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->src), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->src), 0, FSL_IMX6UL_SRC_ADDR); > > /* > * GPCv2 > */ > - object_property_set_bool(OBJECT(&s->gpcv2), true, > - "realized", &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpcv2), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpcv2), 0, FSL_IMX6UL_GPC_ADDR); > > /* Initialize all ECSPI */ > @@ -354,8 +335,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > }; > > /* Initialize the SPI */ > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi[i]), 0, > FSL_IMX6UL_SPIn_ADDR[i]); > @@ -383,8 +363,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > FSL_IMX6UL_I2C4_IRQ, > }; > > - object_property_set_bool(OBJECT(&s->i2c[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->i2c[i]), 0, FSL_IMX6UL_I2Cn_ADDR[i]); > > sysbus_connect_irq(SYS_BUS_DEVICE(&s->i2c[i]), 0, > @@ -420,8 +399,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > > qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); > > - object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, > FSL_IMX6UL_UARTn_ADDR[i]); > @@ -454,8 +432,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > FSL_IMX6UL_ETH_NUM_TX_RINGS, > "tx-ring-num", &error_abort); > qdev_set_nic_properties(DEVICE(&s->eth[i]), &nd_table[i]); > - object_property_set_bool(OBJECT(&s->eth[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->eth[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->eth[i]), 0, > FSL_IMX6UL_ENETn_ADDR[i]); > @@ -471,8 +448,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > > /* USB */ > for (i = 0; i < FSL_IMX6UL_NUM_USB_PHYS; i++) { > - object_property_set_bool(OBJECT(&s->usbphy[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->usbphy[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->usbphy[i]), 0, > FSL_IMX6UL_USBPHY1_ADDR + i * 0x1000); > } > @@ -482,8 +458,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > FSL_IMX6UL_USB1_IRQ, > FSL_IMX6UL_USB2_IRQ, > }; > - object_property_set_bool(OBJECT(&s->usb[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->usb[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->usb[i]), 0, > FSL_IMX6UL_USBO2_USB_ADDR + i * 0x200); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i]), 0, > @@ -505,8 +480,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > FSL_IMX6UL_USDHC2_IRQ, > }; > > - object_property_set_bool(OBJECT(&s->usdhc[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->usdhc[i]), 0, > FSL_IMX6UL_USDHCn_ADDR[i]); > @@ -519,7 +493,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > /* > * SNVS > */ > - object_property_set_bool(OBJECT(&s->snvs), true, "realized", &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->snvs), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->snvs), 0, FSL_IMX6UL_SNVS_HP_ADDR); > > /* > @@ -532,8 +506,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > FSL_IMX6UL_WDOG3_ADDR, > }; > > - object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, > FSL_IMX6UL_WDOGn_ADDR[i]); > @@ -542,8 +515,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp) > /* > * GPR > */ > - object_property_set_bool(OBJECT(&s->gpr), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpr), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpr), 0, FSL_IMX6UL_IOMUXC_GPR_ADDR); > > /* > diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c > index 89e2a2715b..48887d139d 100644 > --- a/hw/arm/fsl-imx7.c > +++ b/hw/arm/fsl-imx7.c > @@ -45,16 +45,15 @@ static void fsl_imx7_init(Object *obj) > /* > * A7MPCORE > */ > - sysbus_init_child_obj(obj, "a7mpcore", &s->a7mpcore, sizeof(s->a7mpcore), > - TYPE_A15MPCORE_PRIV); > + object_initialize_child(obj, "a7mpcore", &s->a7mpcore, > + TYPE_A15MPCORE_PRIV); > > /* > * GPIOs 1 to 7 > */ > for (i = 0; i < FSL_IMX7_NUM_GPIOS; i++) { > snprintf(name, NAME_SIZE, "gpio%d", i); > - sysbus_init_child_obj(obj, name, &s->gpio[i], sizeof(s->gpio[i]), > - TYPE_IMX_GPIO); > + object_initialize_child(obj, name, &s->gpio[i], TYPE_IMX_GPIO); > } > > /* > @@ -62,38 +61,33 @@ static void fsl_imx7_init(Object *obj) > */ > for (i = 0; i < FSL_IMX7_NUM_GPTS; i++) { > snprintf(name, NAME_SIZE, "gpt%d", i); > - sysbus_init_child_obj(obj, name, &s->gpt[i], sizeof(s->gpt[i]), > - TYPE_IMX7_GPT); > + object_initialize_child(obj, name, &s->gpt[i], TYPE_IMX7_GPT); > } > > /* > * CCM > */ > - sysbus_init_child_obj(obj, "ccm", &s->ccm, sizeof(s->ccm), TYPE_IMX7_CCM); > + object_initialize_child(obj, "ccm", &s->ccm, TYPE_IMX7_CCM); > > /* > * Analog > */ > - sysbus_init_child_obj(obj, "analog", &s->analog, sizeof(s->analog), > - TYPE_IMX7_ANALOG); > + object_initialize_child(obj, "analog", &s->analog, TYPE_IMX7_ANALOG); > > /* > * GPCv2 > */ > - sysbus_init_child_obj(obj, "gpcv2", &s->gpcv2, sizeof(s->gpcv2), > - TYPE_IMX_GPCV2); > + object_initialize_child(obj, "gpcv2", &s->gpcv2, TYPE_IMX_GPCV2); > > for (i = 0; i < FSL_IMX7_NUM_ECSPIS; i++) { > snprintf(name, NAME_SIZE, "spi%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->spi[i], sizeof(s->spi[i]), > - TYPE_IMX_SPI); > + object_initialize_child(obj, name, &s->spi[i], TYPE_IMX_SPI); > } > > > for (i = 0; i < FSL_IMX7_NUM_I2CS; i++) { > snprintf(name, NAME_SIZE, "i2c%d", i + 1); > - sysbus_init_child_obj(obj, name, &s->i2c[i], sizeof(s->i2c[i]), > - TYPE_IMX_I2C); > + object_initialize_child(obj, name, &s->i2c[i], TYPE_IMX_I2C); > } > > /* > @@ -101,8 +95,7 @@ static void fsl_imx7_init(Object *obj) > */ > for (i = 0; i < FSL_IMX7_NUM_UARTS; i++) { > snprintf(name, NAME_SIZE, "uart%d", i); > - sysbus_init_child_obj(obj, name, &s->uart[i], sizeof(s->uart[i]), > - TYPE_IMX_SERIAL); > + object_initialize_child(obj, name, &s->uart[i], TYPE_IMX_SERIAL); > } > > /* > @@ -110,8 +103,7 @@ static void fsl_imx7_init(Object *obj) > */ > for (i = 0; i < FSL_IMX7_NUM_ETHS; i++) { > snprintf(name, NAME_SIZE, "eth%d", i); > - sysbus_init_child_obj(obj, name, &s->eth[i], sizeof(s->eth[i]), > - TYPE_IMX_ENET); > + object_initialize_child(obj, name, &s->eth[i], TYPE_IMX_ENET); > } > > /* > @@ -119,37 +111,32 @@ static void fsl_imx7_init(Object *obj) > */ > for (i = 0; i < FSL_IMX7_NUM_USDHCS; i++) { > snprintf(name, NAME_SIZE, "usdhc%d", i); > - sysbus_init_child_obj(obj, name, &s->usdhc[i], sizeof(s->usdhc[i]), > - TYPE_IMX_USDHC); > + object_initialize_child(obj, name, &s->usdhc[i], TYPE_IMX_USDHC); > } > > /* > * SNVS > */ > - sysbus_init_child_obj(obj, "snvs", &s->snvs, sizeof(s->snvs), > - TYPE_IMX7_SNVS); > + object_initialize_child(obj, "snvs", &s->snvs, TYPE_IMX7_SNVS); > > /* > * Watchdog > */ > for (i = 0; i < FSL_IMX7_NUM_WDTS; i++) { > snprintf(name, NAME_SIZE, "wdt%d", i); > - sysbus_init_child_obj(obj, name, &s->wdt[i], sizeof(s->wdt[i]), > - TYPE_IMX2_WDT); > + object_initialize_child(obj, name, &s->wdt[i], TYPE_IMX2_WDT); > } > > /* > * GPR > */ > - sysbus_init_child_obj(obj, "gpr", &s->gpr, sizeof(s->gpr), TYPE_IMX7_GPR); > + object_initialize_child(obj, "gpr", &s->gpr, TYPE_IMX7_GPR); > > - sysbus_init_child_obj(obj, "pcie", &s->pcie, sizeof(s->pcie), > - TYPE_DESIGNWARE_PCIE_HOST); > + object_initialize_child(obj, "pcie", &s->pcie, TYPE_DESIGNWARE_PCIE_HOST); > > for (i = 0; i < FSL_IMX7_NUM_USBS; i++) { > snprintf(name, NAME_SIZE, "usb%d", i); > - sysbus_init_child_obj(obj, name, &s->usb[i], sizeof(s->usb[i]), > - TYPE_CHIPIDEA); > + object_initialize_child(obj, name, &s->usb[i], TYPE_CHIPIDEA); > } > } > > @@ -199,8 +186,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > FSL_IMX7_MAX_IRQ + GIC_INTERNAL, > "num-irq", &error_abort); > > - object_property_set_bool(OBJECT(&s->a7mpcore), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->a7mpcore), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->a7mpcore), 0, FSL_IMX7_A7MPCORE_ADDR); > > for (i = 0; i < smp_cpus; i++) { > @@ -235,8 +221,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > }; > > s->gpt[i].ccm = IMX_CCM(&s->ccm); > - object_property_set_bool(OBJECT(&s->gpt[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpt[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpt[i]), 0, FSL_IMX7_GPTn_ADDR[i]); > } > > @@ -251,8 +236,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > FSL_IMX7_GPIO7_ADDR, > }; > > - object_property_set_bool(OBJECT(&s->gpio[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio[i]), 0, FSL_IMX7_GPIOn_ADDR[i]); > } > > @@ -273,21 +257,19 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > /* > * CCM > */ > - object_property_set_bool(OBJECT(&s->ccm), true, "realized", &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX7_CCM_ADDR); > > /* > * Analog > */ > - object_property_set_bool(OBJECT(&s->analog), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->analog), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->analog), 0, FSL_IMX7_ANALOG_ADDR); > > /* > * GPCv2 > */ > - object_property_set_bool(OBJECT(&s->gpcv2), true, > - "realized", &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpcv2), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpcv2), 0, FSL_IMX7_GPC_ADDR); > > /* Initialize all ECSPI */ > @@ -307,8 +289,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > }; > > /* Initialize the SPI */ > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi[i]), 0, > FSL_IMX7_SPIn_ADDR[i]); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->spi[i]), 0, > @@ -331,8 +312,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > FSL_IMX7_I2C4_IRQ, > }; > > - object_property_set_bool(OBJECT(&s->i2c[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->i2c[i]), 0, FSL_IMX7_I2Cn_ADDR[i]); > > sysbus_connect_irq(SYS_BUS_DEVICE(&s->i2c[i]), 0, > @@ -367,8 +347,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > > qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); > > - object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, FSL_IMX7_UARTn_ADDR[i]); > > @@ -388,8 +367,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > object_property_set_uint(OBJECT(&s->eth[i]), FSL_IMX7_ETH_NUM_TX_RINGS, > "tx-ring-num", &error_abort); > qdev_set_nic_properties(DEVICE(&s->eth[i]), &nd_table[i]); > - object_property_set_bool(OBJECT(&s->eth[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->eth[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->eth[i]), 0, FSL_IMX7_ENETn_ADDR[i]); > > @@ -415,8 +393,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > FSL_IMX7_USDHC3_IRQ, > }; > > - object_property_set_bool(OBJECT(&s->usdhc[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->usdhc[i]), 0, > FSL_IMX7_USDHCn_ADDR[i]); > @@ -428,7 +405,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > /* > * SNVS > */ > - object_property_set_bool(OBJECT(&s->snvs), true, "realized", &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->snvs), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->snvs), 0, FSL_IMX7_SNVS_ADDR); > > /* > @@ -447,8 +424,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > FSL_IMX7_WDOG4_ADDR, > }; > > - object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &error_abort); > > sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX7_WDOGn_ADDR[i]); > } > @@ -459,12 +435,10 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > create_unimplemented_device("sdma", FSL_IMX7_SDMA_ADDR, FSL_IMX7_SDMA_SIZE); > > > - object_property_set_bool(OBJECT(&s->gpr), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpr), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpr), 0, FSL_IMX7_GPR_ADDR); > > - object_property_set_bool(OBJECT(&s->pcie), true, > - "realized", &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->pcie), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->pcie), 0, FSL_IMX7_PCIE_REG_ADDR); > > irq = qdev_get_gpio_in(DEVICE(&s->a7mpcore), FSL_IMX7_PCI_INTA_IRQ); > @@ -496,8 +470,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp) > FSL_IMX7_USB3_IRQ, > }; > > - object_property_set_bool(OBJECT(&s->usb[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->usb[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->usb[i]), 0, > FSL_IMX7_USBn_ADDR[i]); > > diff --git a/hw/arm/msf2-soc.c b/hw/arm/msf2-soc.c > index f4579e5a08..3235c76194 100644 > --- a/hw/arm/msf2-soc.c > +++ b/hw/arm/msf2-soc.c > @@ -71,22 +71,17 @@ static void m2sxxx_soc_initfn(Object *obj) > MSF2State *s = MSF2_SOC(obj); > int i; > > - sysbus_init_child_obj(obj, "armv7m", &s->armv7m, sizeof(s->armv7m), > - TYPE_ARMV7M); > + object_initialize_child(obj, "armv7m", &s->armv7m, TYPE_ARMV7M); > > - sysbus_init_child_obj(obj, "sysreg", &s->sysreg, sizeof(s->sysreg), > - TYPE_MSF2_SYSREG); > + object_initialize_child(obj, "sysreg", &s->sysreg, TYPE_MSF2_SYSREG); > > - sysbus_init_child_obj(obj, "timer", &s->timer, sizeof(s->timer), > - TYPE_MSS_TIMER); > + object_initialize_child(obj, "timer", &s->timer, TYPE_MSS_TIMER); > > for (i = 0; i < MSF2_NUM_SPIS; i++) { > - sysbus_init_child_obj(obj, "spi[*]", &s->spi[i], sizeof(s->spi[i]), > - TYPE_MSS_SPI); > + object_initialize_child(obj, "spi[*]", &s->spi[i], TYPE_MSS_SPI); > } > > - sysbus_init_child_obj(obj, "emac", &s->emac, sizeof(s->emac), > - TYPE_MSS_EMAC); > + object_initialize_child(obj, "emac", &s->emac, TYPE_MSS_EMAC); > if (nd_table[0].used) { > qemu_check_nic_model(&nd_table[0], TYPE_MSS_EMAC); > qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]); > @@ -130,7 +125,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp) > qdev_prop_set_bit(armv7m, "enable-bitband", true); > object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory()), > "memory", &error_abort); > - object_property_set_bool(OBJECT(&s->armv7m), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -158,7 +153,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp) > dev = DEVICE(&s->timer); > /* APB0 clock is the timer input clock */ > qdev_prop_set_uint32(dev, "clock-frequency", s->m3clk / s->apb0div); > - object_property_set_bool(OBJECT(&s->timer), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -173,7 +168,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp) > dev = DEVICE(&s->sysreg); > qdev_prop_set_uint32(dev, "apb0divisor", s->apb0div); > qdev_prop_set_uint32(dev, "apb1divisor", s->apb1div); > - object_property_set_bool(OBJECT(&s->sysreg), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sysreg), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -184,7 +179,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp) > for (i = 0; i < MSF2_NUM_SPIS; i++) { > gchar *bus_name; > > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -204,7 +199,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp) > dev = DEVICE(&s->emac); > object_property_set_link(OBJECT(&s->emac), OBJECT(get_system_memory()), > "ahb-bus", &error_abort); > - object_property_set_bool(OBJECT(&s->emac), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->emac), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c > index c278827b09..5a8961ddbb 100644 > --- a/hw/arm/nrf51_soc.c > +++ b/hw/arm/nrf51_soc.c > @@ -71,7 +71,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->cpu), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->cpu), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -88,7 +88,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp) > memory_region_add_subregion(&s->container, NRF51_SRAM_BASE, &s->sram); > > /* UART */ > - object_property_set_bool(OBJECT(&s->uart), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -100,7 +100,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp) > BASE_TO_IRQ(NRF51_UART_BASE))); > > /* RNG */ > - object_property_set_bool(OBJECT(&s->rng), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->rng), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -120,7 +120,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp) > return; > } > > - object_property_set_bool(OBJECT(&s->nvm), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->nvm), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -136,7 +136,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp) > memory_region_add_subregion_overlap(&s->container, NRF51_FLASH_BASE, mr, 0); > > /* GPIO */ > - object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -155,7 +155,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->timer[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -189,27 +189,23 @@ static void nrf51_soc_init(Object *obj) > > memory_region_init(&s->container, obj, "nrf51-container", UINT64_MAX); > > - sysbus_init_child_obj(OBJECT(s), "armv6m", &s->cpu, sizeof(s->cpu), > - TYPE_ARMV7M); > + object_initialize_child(OBJECT(s), "armv6m", &s->cpu, TYPE_ARMV7M); > qdev_prop_set_string(DEVICE(&s->cpu), "cpu-type", > ARM_CPU_TYPE_NAME("cortex-m0")); > qdev_prop_set_uint32(DEVICE(&s->cpu), "num-irq", 32); > > - sysbus_init_child_obj(obj, "uart", &s->uart, sizeof(s->uart), > - TYPE_NRF51_UART); > + object_initialize_child(obj, "uart", &s->uart, TYPE_NRF51_UART); > object_property_add_alias(obj, "serial0", OBJECT(&s->uart), "chardev"); > > - sysbus_init_child_obj(obj, "rng", &s->rng, sizeof(s->rng), > - TYPE_NRF51_RNG); > + object_initialize_child(obj, "rng", &s->rng, TYPE_NRF51_RNG); > > - sysbus_init_child_obj(obj, "nvm", &s->nvm, sizeof(s->nvm), TYPE_NRF51_NVM); > + object_initialize_child(obj, "nvm", &s->nvm, TYPE_NRF51_NVM); > > - sysbus_init_child_obj(obj, "gpio", &s->gpio, sizeof(s->gpio), > - TYPE_NRF51_GPIO); > + object_initialize_child(obj, "gpio", &s->gpio, TYPE_NRF51_GPIO); > > for (i = 0; i < NRF51_NUM_TIMERS; i++) { > - sysbus_init_child_obj(obj, "timer[*]", &s->timer[i], > - sizeof(s->timer[i]), TYPE_NRF51_TIMER); > + object_initialize_child(obj, "timer[*]", &s->timer[i], > + TYPE_NRF51_TIMER); > > } > } > diff --git a/hw/arm/stm32f205_soc.c b/hw/arm/stm32f205_soc.c > index 118c342559..e2c3479702 100644 > --- a/hw/arm/stm32f205_soc.c > +++ b/hw/arm/stm32f205_soc.c > @@ -51,32 +51,28 @@ static void stm32f205_soc_initfn(Object *obj) > STM32F205State *s = STM32F205_SOC(obj); > int i; > > - sysbus_init_child_obj(obj, "armv7m", &s->armv7m, sizeof(s->armv7m), > - TYPE_ARMV7M); > + object_initialize_child(obj, "armv7m", &s->armv7m, TYPE_ARMV7M); > > - sysbus_init_child_obj(obj, "syscfg", &s->syscfg, sizeof(s->syscfg), > - TYPE_STM32F2XX_SYSCFG); > + object_initialize_child(obj, "syscfg", &s->syscfg, TYPE_STM32F2XX_SYSCFG); > > for (i = 0; i < STM_NUM_USARTS; i++) { > - sysbus_init_child_obj(obj, "usart[*]", &s->usart[i], > - sizeof(s->usart[i]), TYPE_STM32F2XX_USART); > + object_initialize_child(obj, "usart[*]", &s->usart[i], > + TYPE_STM32F2XX_USART); > } > > for (i = 0; i < STM_NUM_TIMERS; i++) { > - sysbus_init_child_obj(obj, "timer[*]", &s->timer[i], > - sizeof(s->timer[i]), TYPE_STM32F2XX_TIMER); > + object_initialize_child(obj, "timer[*]", &s->timer[i], > + TYPE_STM32F2XX_TIMER); > } > > s->adc_irqs = OR_IRQ(object_new(TYPE_OR_IRQ)); > > for (i = 0; i < STM_NUM_ADCS; i++) { > - sysbus_init_child_obj(obj, "adc[*]", &s->adc[i], sizeof(s->adc[i]), > - TYPE_STM32F2XX_ADC); > + object_initialize_child(obj, "adc[*]", &s->adc[i], TYPE_STM32F2XX_ADC); > } > > for (i = 0; i < STM_NUM_SPIS; i++) { > - sysbus_init_child_obj(obj, "spi[*]", &s->spi[i], sizeof(s->spi[i]), > - TYPE_STM32F2XX_SPI); > + object_initialize_child(obj, "spi[*]", &s->spi[i], TYPE_STM32F2XX_SPI); > } > } > > @@ -111,7 +107,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) > qdev_prop_set_bit(armv7m, "enable-bitband", true); > object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory()), > "memory", &error_abort); > - object_property_set_bool(OBJECT(&s->armv7m), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -119,7 +115,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) > > /* System configuration controller */ > dev = DEVICE(&s->syscfg); > - object_property_set_bool(OBJECT(&s->syscfg), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -132,7 +128,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) > for (i = 0; i < STM_NUM_USARTS; i++) { > dev = DEVICE(&(s->usart[i])); > qdev_prop_set_chr(dev, "chardev", serial_hd(i)); > - object_property_set_bool(OBJECT(&s->usart[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -146,7 +142,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) > for (i = 0; i < STM_NUM_TIMERS; i++) { > dev = DEVICE(&(s->timer[i])); > qdev_prop_set_uint64(dev, "clock-frequency", 1000000000); > - object_property_set_bool(OBJECT(&s->timer[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -169,7 +165,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) > > for (i = 0; i < STM_NUM_ADCS; i++) { > dev = DEVICE(&(s->adc[i])); > - object_property_set_bool(OBJECT(&s->adc[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -183,7 +179,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, Error **errp) > /* SPI 1 and 2 */ > for (i = 0; i < STM_NUM_SPIS; i++) { > dev = DEVICE(&(s->spi[i])); > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/stm32f405_soc.c b/hw/arm/stm32f405_soc.c > index bb9fec96bc..94eaeb6758 100644 > --- a/hw/arm/stm32f405_soc.c > +++ b/hw/arm/stm32f405_soc.c > @@ -56,34 +56,29 @@ static void stm32f405_soc_initfn(Object *obj) > STM32F405State *s = STM32F405_SOC(obj); > int i; > > - sysbus_init_child_obj(obj, "armv7m", &s->armv7m, sizeof(s->armv7m), > - TYPE_ARMV7M); > + object_initialize_child(obj, "armv7m", &s->armv7m, TYPE_ARMV7M); > > - sysbus_init_child_obj(obj, "syscfg", &s->syscfg, sizeof(s->syscfg), > - TYPE_STM32F4XX_SYSCFG); > + object_initialize_child(obj, "syscfg", &s->syscfg, TYPE_STM32F4XX_SYSCFG); > > for (i = 0; i < STM_NUM_USARTS; i++) { > - sysbus_init_child_obj(obj, "usart[*]", &s->usart[i], > - sizeof(s->usart[i]), TYPE_STM32F2XX_USART); > + object_initialize_child(obj, "usart[*]", &s->usart[i], > + TYPE_STM32F2XX_USART); > } > > for (i = 0; i < STM_NUM_TIMERS; i++) { > - sysbus_init_child_obj(obj, "timer[*]", &s->timer[i], > - sizeof(s->timer[i]), TYPE_STM32F2XX_TIMER); > + object_initialize_child(obj, "timer[*]", &s->timer[i], > + TYPE_STM32F2XX_TIMER); > } > > for (i = 0; i < STM_NUM_ADCS; i++) { > - sysbus_init_child_obj(obj, "adc[*]", &s->adc[i], sizeof(s->adc[i]), > - TYPE_STM32F2XX_ADC); > + object_initialize_child(obj, "adc[*]", &s->adc[i], TYPE_STM32F2XX_ADC); > } > > for (i = 0; i < STM_NUM_SPIS; i++) { > - sysbus_init_child_obj(obj, "spi[*]", &s->spi[i], sizeof(s->spi[i]), > - TYPE_STM32F2XX_SPI); > + object_initialize_child(obj, "spi[*]", &s->spi[i], TYPE_STM32F2XX_SPI); > } > > - sysbus_init_child_obj(obj, "exti", &s->exti, sizeof(s->exti), > - TYPE_STM32F4XX_EXTI); > + object_initialize_child(obj, "exti", &s->exti, TYPE_STM32F4XX_EXTI); > } > > static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) > @@ -122,7 +117,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) > qdev_prop_set_bit(armv7m, "enable-bitband", true); > object_property_set_link(OBJECT(&s->armv7m), OBJECT(system_memory), > "memory", &error_abort); > - object_property_set_bool(OBJECT(&s->armv7m), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -130,7 +125,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) > > /* System configuration controller */ > dev = DEVICE(&s->syscfg); > - object_property_set_bool(OBJECT(&s->syscfg), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -143,7 +138,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) > for (i = 0; i < STM_NUM_USARTS; i++) { > dev = DEVICE(&(s->usart[i])); > qdev_prop_set_chr(dev, "chardev", serial_hd(i)); > - object_property_set_bool(OBJECT(&s->usart[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -157,7 +152,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) > for (i = 0; i < STM_NUM_TIMERS; i++) { > dev = DEVICE(&(s->timer[i])); > qdev_prop_set_uint64(dev, "clock-frequency", 1000000000); > - object_property_set_bool(OBJECT(&s->timer[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -187,7 +182,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) > > for (i = 0; i < STM_NUM_ADCS; i++) { > dev = DEVICE(&(s->adc[i])); > - object_property_set_bool(OBJECT(&s->adc[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -201,7 +196,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) > /* SPI devices */ > for (i = 0; i < STM_NUM_SPIS; i++) { > dev = DEVICE(&(s->spi[i])); > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -213,7 +208,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp) > > /* EXTI device */ > dev = DEVICE(&s->exti); > - object_property_set_bool(OBJECT(&s->exti), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->exti), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c > index 890139d6a2..667c11ac8d 100644 > --- a/hw/arm/xlnx-zynqmp.c > +++ b/hw/arm/xlnx-zynqmp.c > @@ -237,21 +237,18 @@ static void xlnx_zynqmp_init(Object *obj) > ARM_CPU_TYPE_NAME("cortex-a53")); > } > > - sysbus_init_child_obj(obj, "gic", &s->gic, sizeof(s->gic), > - gic_class_name()); > + object_initialize_child(obj, "gic", &s->gic, gic_class_name()); > > for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) { > - sysbus_init_child_obj(obj, "gem[*]", &s->gem[i], sizeof(s->gem[i]), > - TYPE_CADENCE_GEM); > + object_initialize_child(obj, "gem[*]", &s->gem[i], TYPE_CADENCE_GEM); > } > > for (i = 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) { > - sysbus_init_child_obj(obj, "uart[*]", &s->uart[i], sizeof(s->uart[i]), > - TYPE_CADENCE_UART); > + object_initialize_child(obj, "uart[*]", &s->uart[i], > + TYPE_CADENCE_UART); > } > > - sysbus_init_child_obj(obj, "sata", &s->sata, sizeof(s->sata), > - TYPE_SYSBUS_AHCI); > + object_initialize_child(obj, "sata", &s->sata, TYPE_SYSBUS_AHCI); > > for (i = 0; i < XLNX_ZYNQMP_NUM_SDHCI; i++) { > sysbus_init_child_obj(obj, "sdhci[*]", &s->sdhci[i], > @@ -259,32 +256,25 @@ static void xlnx_zynqmp_init(Object *obj) > } > > for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { > - sysbus_init_child_obj(obj, "spi[*]", &s->spi[i], sizeof(s->spi[i]), > - TYPE_XILINX_SPIPS); > + object_initialize_child(obj, "spi[*]", &s->spi[i], TYPE_XILINX_SPIPS); > } > > - sysbus_init_child_obj(obj, "qspi", &s->qspi, sizeof(s->qspi), > - TYPE_XLNX_ZYNQMP_QSPIPS); > + object_initialize_child(obj, "qspi", &s->qspi, TYPE_XLNX_ZYNQMP_QSPIPS); > > - sysbus_init_child_obj(obj, "xxxdp", &s->dp, sizeof(s->dp), TYPE_XLNX_DP); > + object_initialize_child(obj, "xxxdp", &s->dp, TYPE_XLNX_DP); > > - sysbus_init_child_obj(obj, "dp-dma", &s->dpdma, sizeof(s->dpdma), > - TYPE_XLNX_DPDMA); > + object_initialize_child(obj, "dp-dma", &s->dpdma, TYPE_XLNX_DPDMA); > > - sysbus_init_child_obj(obj, "ipi", &s->ipi, sizeof(s->ipi), > - TYPE_XLNX_ZYNQMP_IPI); > + object_initialize_child(obj, "ipi", &s->ipi, TYPE_XLNX_ZYNQMP_IPI); > > - sysbus_init_child_obj(obj, "rtc", &s->rtc, sizeof(s->rtc), > - TYPE_XLNX_ZYNQMP_RTC); > + object_initialize_child(obj, "rtc", &s->rtc, TYPE_XLNX_ZYNQMP_RTC); > > for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { > - sysbus_init_child_obj(obj, "gdma[*]", &s->gdma[i], sizeof(s->gdma[i]), > - TYPE_XLNX_ZDMA); > + object_initialize_child(obj, "gdma[*]", &s->gdma[i], TYPE_XLNX_ZDMA); > } > > for (i = 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) { > - sysbus_init_child_obj(obj, "adma[*]", &s->adma[i], sizeof(s->adma[i]), > - TYPE_XLNX_ZDMA); > + object_initialize_child(obj, "adma[*]", &s->adma[i], TYPE_XLNX_ZDMA); > } > } > > @@ -386,7 +376,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > } > } > > - object_property_set_bool(OBJECT(&s->gic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -482,7 +472,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > &error_abort); > object_property_set_int(OBJECT(&s->gem[i]), 2, "num-priority-queues", > &error_abort); > - object_property_set_bool(OBJECT(&s->gem[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gem[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -494,7 +484,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > > for (i = 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) { > qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); > - object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -506,7 +496,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > > object_property_set_int(OBJECT(&s->sata), SATA_NUM_PORTS, "num-ports", > &error_abort); > - object_property_set_bool(OBJECT(&s->sata), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->sata), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -557,7 +547,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { > gchar *bus_name; > > - object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -574,7 +564,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > g_free(bus_name); > } > > - object_property_set_bool(OBJECT(&s->qspi), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->qspi), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -596,7 +586,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > g_free(target_bus); > } > > - object_property_set_bool(OBJECT(&s->dp), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->dp), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -604,7 +594,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > sysbus_mmio_map(SYS_BUS_DEVICE(&s->dp), 0, DP_ADDR); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->dp), 0, gic_spi[DP_IRQ]); > > - object_property_set_bool(OBJECT(&s->dpdma), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->dpdma), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -614,7 +604,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > sysbus_mmio_map(SYS_BUS_DEVICE(&s->dpdma), 0, DPDMA_ADDR); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->dpdma), 0, gic_spi[DPDMA_IRQ]); > > - object_property_set_bool(OBJECT(&s->ipi), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->ipi), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -622,7 +612,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > sysbus_mmio_map(SYS_BUS_DEVICE(&s->ipi), 0, IPI_ADDR); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->ipi), 0, gic_spi[IPI_IRQ]); > > - object_property_set_bool(OBJECT(&s->rtc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -636,7 +626,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > error_propagate(errp, err); > return; > } > - object_property_set_bool(OBJECT(&s->gdma[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -648,7 +638,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) > } > > for (i = 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) { > - object_property_set_bool(OBJECT(&s->adma[i]), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->adma[i]), &err); > if (err) { > error_propagate(errp, err); > return; > diff --git a/hw/cpu/a15mpcore.c b/hw/cpu/a15mpcore.c > index 4f659115b6..e6085f5d44 100644 > --- a/hw/cpu/a15mpcore.c > +++ b/hw/cpu/a15mpcore.c > @@ -42,8 +42,7 @@ static void a15mp_priv_initfn(Object *obj) > memory_region_init(&s->container, obj, "a15mp-priv-container", 0x8000); > sysbus_init_mmio(sbd, &s->container); > > - sysbus_init_child_obj(obj, "gic", &s->gic, sizeof(s->gic), > - gic_class_name()); > + object_initialize_child(obj, "gic", &s->gic, gic_class_name()); > qdev_prop_set_uint32(DEVICE(&s->gic), "revision", 2); > } > > @@ -77,7 +76,7 @@ static void a15mp_priv_realize(DeviceState *dev, Error **errp) > qdev_prop_set_bit(gicdev, "has-virtualization-extensions", has_el2); > } > > - object_property_set_bool(OBJECT(&s->gic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > diff --git a/hw/cpu/a9mpcore.c b/hw/cpu/a9mpcore.c > index b4f6a7e8a5..642363d2f4 100644 > --- a/hw/cpu/a9mpcore.c > +++ b/hw/cpu/a9mpcore.c > @@ -32,18 +32,15 @@ static void a9mp_priv_initfn(Object *obj) > memory_region_init(&s->container, obj, "a9mp-priv-container", 0x2000); > sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->container); > > - sysbus_init_child_obj(obj, "scu", &s->scu, sizeof(s->scu), TYPE_A9_SCU); > + object_initialize_child(obj, "scu", &s->scu, TYPE_A9_SCU); > > - sysbus_init_child_obj(obj, "gic", &s->gic, sizeof(s->gic), TYPE_ARM_GIC); > + object_initialize_child(obj, "gic", &s->gic, TYPE_ARM_GIC); > > - sysbus_init_child_obj(obj, "gtimer", &s->gtimer, sizeof(s->gtimer), > - TYPE_A9_GTIMER); > + object_initialize_child(obj, "gtimer", &s->gtimer, TYPE_A9_GTIMER); > > - sysbus_init_child_obj(obj, "mptimer", &s->mptimer, sizeof(s->mptimer), > - TYPE_ARM_MPTIMER); > + object_initialize_child(obj, "mptimer", &s->mptimer, TYPE_ARM_MPTIMER); > > - sysbus_init_child_obj(obj, "wdt", &s->wdt, sizeof(s->wdt), > - TYPE_ARM_MPTIMER); > + object_initialize_child(obj, "wdt", &s->wdt, TYPE_ARM_MPTIMER); > } > > static void a9mp_priv_realize(DeviceState *dev, Error **errp) > @@ -60,7 +57,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp) > > scudev = DEVICE(&s->scu); > qdev_prop_set_uint32(scudev, "num-cpu", s->num_cpu); > - object_property_set_bool(OBJECT(&s->scu), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -81,7 +78,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp) > object_property_get_bool(cpuobj, "has_el3", &error_abort); > qdev_prop_set_bit(gicdev, "has-security-extensions", has_el3); > > - object_property_set_bool(OBJECT(&s->gic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -96,7 +93,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp) > > gtimerdev = DEVICE(&s->gtimer); > qdev_prop_set_uint32(gtimerdev, "num-cpu", s->num_cpu); > - object_property_set_bool(OBJECT(&s->gtimer), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gtimer), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -105,7 +102,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp) > > mptimerdev = DEVICE(&s->mptimer); > qdev_prop_set_uint32(mptimerdev, "num-cpu", s->num_cpu); > - object_property_set_bool(OBJECT(&s->mptimer), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -114,7 +111,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **errp) > > wdtdev = DEVICE(&s->wdt); > qdev_prop_set_uint32(wdtdev, "num-cpu", s->num_cpu); > - object_property_set_bool(OBJECT(&s->wdt), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->wdt), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > diff --git a/hw/cpu/arm11mpcore.c b/hw/cpu/arm11mpcore.c > index ab9fadb67c..a2afb992fb 100644 > --- a/hw/cpu/arm11mpcore.c > +++ b/hw/cpu/arm11mpcore.c > @@ -79,7 +79,7 @@ static void mpcore_priv_realize(DeviceState *dev, Error **errp) > Error *err = NULL; > > qdev_prop_set_uint32(scudev, "num-cpu", s->num_cpu); > - object_property_set_bool(OBJECT(&s->scu), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -91,7 +91,7 @@ static void mpcore_priv_realize(DeviceState *dev, Error **errp) > ARM11MPCORE_NUM_GIC_PRIORITY_BITS); > > > - object_property_set_bool(OBJECT(&s->gic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -104,14 +104,14 @@ static void mpcore_priv_realize(DeviceState *dev, Error **errp) > qdev_init_gpio_in(dev, mpcore_priv_set_irq, s->num_irq - 32); > > qdev_prop_set_uint32(mptimerdev, "num-cpu", s->num_cpu); > - object_property_set_bool(OBJECT(&s->mptimer), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > } > > qdev_prop_set_uint32(wdtimerdev, "num-cpu", s->num_cpu); > - object_property_set_bool(OBJECT(&s->wdtimer), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->wdtimer), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -129,17 +129,15 @@ static void mpcore_priv_initfn(Object *obj) > "mpcore-priv-container", 0x2000); > sysbus_init_mmio(sbd, &s->container); > > - sysbus_init_child_obj(obj, "scu", &s->scu, sizeof(s->scu), TYPE_ARM11_SCU); > + object_initialize_child(obj, "scu", &s->scu, TYPE_ARM11_SCU); > > - sysbus_init_child_obj(obj, "gic", &s->gic, sizeof(s->gic), TYPE_ARM_GIC); > + object_initialize_child(obj, "gic", &s->gic, TYPE_ARM_GIC); > /* Request the legacy 11MPCore GIC behaviour: */ > qdev_prop_set_uint32(DEVICE(&s->gic), "revision", 0); > > - sysbus_init_child_obj(obj, "mptimer", &s->mptimer, sizeof(s->mptimer), > - TYPE_ARM_MPTIMER); > + object_initialize_child(obj, "mptimer", &s->mptimer, TYPE_ARM_MPTIMER); > > - sysbus_init_child_obj(obj, "wdtimer", &s->wdtimer, sizeof(s->wdtimer), > - TYPE_ARM_MPTIMER); > + object_initialize_child(obj, "wdtimer", &s->wdtimer, TYPE_ARM_MPTIMER); > } > > static Property mpcore_priv_properties[] = { > diff --git a/hw/cpu/realview_mpcore.c b/hw/cpu/realview_mpcore.c > index cc2767c716..672d0f8a25 100644 > --- a/hw/cpu/realview_mpcore.c > +++ b/hw/cpu/realview_mpcore.c > @@ -70,7 +70,7 @@ static void realview_mpcore_realize(DeviceState *dev, Error **errp) > int i; > > qdev_prop_set_uint32(priv, "num-cpu", s->num_cpu); > - object_property_set_bool(OBJECT(&s->priv), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->priv), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -104,8 +104,7 @@ static void mpcore_rirq_init(Object *obj) > SysBusDevice *privbusdev; > int i; > > - sysbus_init_child_obj(obj, "a11priv", &s->priv, sizeof(s->priv), > - TYPE_ARM11MPCORE_PRIV); > + object_initialize_child(obj, "a11priv", &s->priv, TYPE_ARM11MPCORE_PRIV); > privbusdev = SYS_BUS_DEVICE(&s->priv); > sysbus_init_mmio(sbd, sysbus_mmio_get_region(privbusdev, 0)); > > diff --git a/hw/intc/realview_gic.c b/hw/intc/realview_gic.c > index 73fe8cd815..f11fb5259a 100644 > --- a/hw/intc/realview_gic.c > +++ b/hw/intc/realview_gic.c > @@ -34,7 +34,7 @@ static void realview_gic_realize(DeviceState *dev, Error **errp) > int numirq = 96; > > qdev_prop_set_uint32(DEVICE(&s->gic), "num-irq", numirq); > - object_property_set_bool(OBJECT(&s->gic), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); > if (err != NULL) { > error_propagate(errp, err); > return; > @@ -62,7 +62,7 @@ static void realview_gic_init(Object *obj) > "realview-gic-container", 0x2000); > sysbus_init_mmio(sbd, &s->container); > > - sysbus_init_child_obj(obj, "gic", &s->gic, sizeof(s->gic), TYPE_ARM_GIC); > + object_initialize_child(obj, "gic", &s->gic, TYPE_ARM_GIC); > qdev_prop_set_uint32(DEVICE(&s->gic), "num-cpu", 1); > } > > diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pmu.c > index 30ad133ec3..e74b047380 100644 > --- a/hw/microblaze/xlnx-zynqmp-pmu.c > +++ b/hw/microblaze/xlnx-zynqmp-pmu.c > @@ -63,14 +63,12 @@ static void xlnx_zynqmp_pmu_soc_init(Object *obj) > > object_initialize_child(obj, "pmu-cpu", &s->cpu, TYPE_MICROBLAZE_CPU); > > - sysbus_init_child_obj(obj, "intc", &s->intc, sizeof(s->intc), > - TYPE_XLNX_PMU_IO_INTC); > + object_initialize_child(obj, "intc", &s->intc, TYPE_XLNX_PMU_IO_INTC); > > /* Create the IPI device */ > for (int i = 0; i < XLNX_ZYNQMP_PMU_NUM_IPIS; i++) { > char *name = g_strdup_printf("ipi%d", i); > - sysbus_init_child_obj(obj, name, &s->ipi[i], sizeof(s->ipi[i]), > - TYPE_XLNX_ZYNQMP_IPI); > + object_initialize_child(obj, name, &s->ipi[i], TYPE_XLNX_ZYNQMP_IPI); > g_free(name); > } > } > @@ -110,7 +108,7 @@ static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev, Error **errp) > &error_abort); > object_property_set_uint(OBJECT(&s->intc), 0xffff, "intc-positive", > &error_abort); > - object_property_set_bool(OBJECT(&s->intc), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->intc), &err); > if (err) { > error_propagate(errp, err); > return; > @@ -121,8 +119,7 @@ static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev, Error **errp) > > /* Connect the IPI device */ > for (int i = 0; i < XLNX_ZYNQMP_PMU_NUM_IPIS; i++) { > - object_property_set_bool(OBJECT(&s->ipi[i]), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->ipi[i]), &error_abort); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->ipi[i]), 0, ipi_addr[i]); > sysbus_connect_irq(SYS_BUS_DEVICE(&s->ipi[i]), 0, > qdev_get_gpio_in(DEVICE(&s->intc), ipi_irq[i])); > diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c > index ee32f72d75..898bccb9d5 100644 > --- a/hw/misc/mac_via.c > +++ b/hw/misc/mac_via.c > @@ -876,11 +876,11 @@ static void mac_via_realize(DeviceState *dev, Error **errp) > int ret; > > /* Init VIAs 1 and 2 */ > - sysbus_init_child_obj(OBJECT(dev), "via1", &m->mos6522_via1, > - sizeof(m->mos6522_via1), TYPE_MOS6522_Q800_VIA1); > + object_initialize_child(OBJECT(dev), "via1", &m->mos6522_via1, > + TYPE_MOS6522_Q800_VIA1); > > - sysbus_init_child_obj(OBJECT(dev), "via2", &m->mos6522_via2, > - sizeof(m->mos6522_via2), TYPE_MOS6522_Q800_VIA2); > + object_initialize_child(OBJECT(dev), "via2", &m->mos6522_via2, > + TYPE_MOS6522_Q800_VIA2); > > /* Pass through mos6522 output IRQs */ > ms = MOS6522(&m->mos6522_via1); > @@ -890,8 +890,8 @@ static void mac_via_realize(DeviceState *dev, Error **errp) > object_property_add_alias(OBJECT(dev), "irq[1]", OBJECT(ms), > SYSBUS_DEVICE_GPIO_IRQ "[0]"); > > - qdev_init_nofail(DEVICE(&m->mos6522_via1)); > - qdev_init_nofail(DEVICE(&m->mos6522_via2)); > + sysbus_realize(SYS_BUS_DEVICE(&m->mos6522_via1), &error_fatal); > + sysbus_realize(SYS_BUS_DEVICE(&m->mos6522_via2), &error_fatal); > > /* Pass through mos6522 input IRQs */ > qdev_pass_gpios(DEVICE(&m->mos6522_via1), dev, "via1-irq"); > diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c > index 6d4d135f71..fffd325436 100644 > --- a/hw/misc/macio/cuda.c > +++ b/hw/misc/macio/cuda.c > @@ -31,6 +31,7 @@ > #include "hw/input/adb.h" > #include "hw/misc/mos6522.h" > #include "hw/misc/macio/cuda.h" > +#include "qapi/error.h" > #include "qemu/timer.h" > #include "sysemu/runstate.h" > #include "qemu/cutils.h" > @@ -525,7 +526,7 @@ static void cuda_realize(DeviceState *dev, Error **errp) > SysBusDevice *sbd; > struct tm tm; > > - qdev_init_nofail(DEVICE(&s->mos6522_cuda)); > + sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_cuda), &error_fatal); > > /* Pass IRQ from 6522 */ > sbd = SYS_BUS_DEVICE(s); > @@ -547,8 +548,8 @@ static void cuda_init(Object *obj) > CUDAState *s = CUDA(obj); > SysBusDevice *sbd = SYS_BUS_DEVICE(obj); > > - sysbus_init_child_obj(obj, "mos6522-cuda", &s->mos6522_cuda, > - sizeof(s->mos6522_cuda), TYPE_MOS6522_CUDA); > + object_initialize_child(obj, "mos6522-cuda", &s->mos6522_cuda, > + TYPE_MOS6522_CUDA); > > memory_region_init_io(&s->mem, obj, &mos6522_cuda_ops, s, "cuda", 0x2000); > sysbus_init_mmio(sbd, &s->mem); > diff --git a/hw/misc/macio/pmu.c b/hw/misc/macio/pmu.c > index e29ca5e6cc..fc195a317f 100644 > --- a/hw/misc/macio/pmu.c > +++ b/hw/misc/macio/pmu.c > @@ -38,6 +38,7 @@ > #include "hw/misc/mos6522.h" > #include "hw/misc/macio/gpio.h" > #include "hw/misc/macio/pmu.h" > +#include "qapi/error.h" > #include "qemu/timer.h" > #include "sysemu/runstate.h" > #include "qemu/cutils.h" > @@ -742,7 +743,7 @@ static void pmu_realize(DeviceState *dev, Error **errp) > SysBusDevice *sbd; > struct tm tm; > > - qdev_init_nofail(DEVICE(&s->mos6522_pmu)); > + sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_pmu), &error_fatal); > > /* Pass IRQ from 6522 */ > sbd = SYS_BUS_DEVICE(s); > @@ -773,8 +774,8 @@ static void pmu_init(Object *obj) > qdev_prop_allow_set_link_before_realize, > 0); > > - sysbus_init_child_obj(obj, "mos6522-pmu", &s->mos6522_pmu, > - sizeof(s->mos6522_pmu), TYPE_MOS6522_PMU); > + object_initialize_child(obj, "mos6522-pmu", &s->mos6522_pmu, > + TYPE_MOS6522_PMU); > > memory_region_init_io(&s->mem, obj, &mos6522_pmu_ops, s, "via-pmu", > 0x2000); > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c > index ee20da41a5..3ee8909c0a 100644 > --- a/hw/ppc/pnv.c > +++ b/hw/ppc/pnv.c > @@ -1309,8 +1309,7 @@ static void pnv_chip_power9_instance_init(Object *obj) > PnvChipClass *pcc = PNV_CHIP_GET_CLASS(obj); > int i; > > - sysbus_init_child_obj(obj, "xive", &chip9->xive, sizeof(chip9->xive), > - TYPE_PNV_XIVE); > + object_initialize_child(obj, "xive", &chip9->xive, TYPE_PNV_XIVE); > object_property_add_alias(obj, "xive-fabric", OBJECT(&chip9->xive), > "xive-fabric"); > > @@ -1470,8 +1469,7 @@ static void pnv_chip_power9_realize(DeviceState *dev, Error **errp) > "tm-bar", &error_fatal); > object_property_set_link(OBJECT(&chip9->xive), OBJECT(chip), "chip", > &error_abort); > - object_property_set_bool(OBJECT(&chip9->xive), true, "realized", > - &local_err); > + sysbus_realize(SYS_BUS_DEVICE(&chip9->xive), &local_err); > if (local_err) { > error_propagate(errp, local_err); > return; > diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c > index 0369cb5d53..95f90582b5 100644 > --- a/hw/riscv/sifive_e.c > +++ b/hw/riscv/sifive_e.c > @@ -118,13 +118,11 @@ static void riscv_sifive_e_soc_init(Object *obj) > MachineState *ms = MACHINE(qdev_get_machine()); > SiFiveESoCState *s = RISCV_E_SOC(obj); > > - sysbus_init_child_obj(obj, "cpus", &s->cpus, > - sizeof(s->cpus), TYPE_RISCV_HART_ARRAY); > + object_initialize_child(obj, "cpus", &s->cpus, TYPE_RISCV_HART_ARRAY); > object_property_set_int(OBJECT(&s->cpus), ms->smp.cpus, "num-harts", > &error_abort); > - sysbus_init_child_obj(obj, "riscv.sifive.e.gpio0", > - &s->gpio, sizeof(s->gpio), > - TYPE_SIFIVE_GPIO); > + object_initialize_child(obj, "riscv.sifive.e.gpio0", &s->gpio, > + TYPE_SIFIVE_GPIO); > } > > static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) > @@ -138,8 +136,7 @@ static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) > > object_property_set_str(OBJECT(&s->cpus), ms->cpu_type, "cpu-type", > &error_abort); > - object_property_set_bool(OBJECT(&s->cpus), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->cpus), &error_abort); > > /* Mask ROM */ > memory_region_init_rom(&s->mask_rom, OBJECT(dev), "riscv.sifive.e.mrom", > @@ -168,7 +165,7 @@ static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) > > /* GPIO */ > > - object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); > if (err) { > error_propagate(errp, err); > return; > diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c > index 1cecd28514..1d3b2be9eb 100644 > --- a/hw/riscv/sifive_u.c > +++ b/hw/riscv/sifive_u.c > @@ -487,9 +487,8 @@ static void riscv_sifive_u_soc_init(Object *obj) > object_initialize_child(obj, "e-cluster", &s->e_cluster, TYPE_CPU_CLUSTER); > qdev_prop_set_uint32(DEVICE(&s->e_cluster), "cluster-id", 0); > > - sysbus_init_child_obj(OBJECT(&s->e_cluster), "e-cpus", > - &s->e_cpus, sizeof(s->e_cpus), > - TYPE_RISCV_HART_ARRAY); > + object_initialize_child(OBJECT(&s->e_cluster), "e-cpus", &s->e_cpus, > + TYPE_RISCV_HART_ARRAY); > qdev_prop_set_uint32(DEVICE(&s->e_cpus), "num-harts", 1); > qdev_prop_set_uint32(DEVICE(&s->e_cpus), "hartid-base", 0); > qdev_prop_set_string(DEVICE(&s->e_cpus), "cpu-type", SIFIVE_E_CPU); > @@ -497,19 +496,15 @@ static void riscv_sifive_u_soc_init(Object *obj) > object_initialize_child(obj, "u-cluster", &s->u_cluster, TYPE_CPU_CLUSTER); > qdev_prop_set_uint32(DEVICE(&s->u_cluster), "cluster-id", 1); > > - sysbus_init_child_obj(OBJECT(&s->u_cluster), "u-cpus", > - &s->u_cpus, sizeof(s->u_cpus), > - TYPE_RISCV_HART_ARRAY); > + object_initialize_child(OBJECT(&s->u_cluster), "u-cpus", &s->u_cpus, > + TYPE_RISCV_HART_ARRAY); > qdev_prop_set_uint32(DEVICE(&s->u_cpus), "num-harts", ms->smp.cpus - 1); > qdev_prop_set_uint32(DEVICE(&s->u_cpus), "hartid-base", 1); > qdev_prop_set_string(DEVICE(&s->u_cpus), "cpu-type", SIFIVE_U_CPU); > > - sysbus_init_child_obj(obj, "prci", &s->prci, sizeof(s->prci), > - TYPE_SIFIVE_U_PRCI); > - sysbus_init_child_obj(obj, "otp", &s->otp, sizeof(s->otp), > - TYPE_SIFIVE_U_OTP); > - sysbus_init_child_obj(obj, "gem", &s->gem, sizeof(s->gem), > - TYPE_CADENCE_GEM); > + object_initialize_child(obj, "prci", &s->prci, TYPE_SIFIVE_U_PRCI); > + object_initialize_child(obj, "otp", &s->otp, TYPE_SIFIVE_U_OTP); > + object_initialize_child(obj, "gem", &s->gem, TYPE_CADENCE_GEM); > } > > static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) > @@ -527,10 +522,8 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) > Error *err = NULL; > NICInfo *nd = &nd_table[0]; > > - object_property_set_bool(OBJECT(&s->e_cpus), true, "realized", > - &error_abort); > - object_property_set_bool(OBJECT(&s->u_cpus), true, "realized", > - &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->e_cpus), &error_abort); > + sysbus_realize(SYS_BUS_DEVICE(&s->u_cpus), &error_abort); > /* > * The cluster must be realized after the RISC-V hart array container, > * as the container's CPU object is only created on realize, and the > @@ -597,11 +590,11 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) > memmap[SIFIVE_U_CLINT].size, ms->smp.cpus, > SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE, false); > > - object_property_set_bool(OBJECT(&s->prci), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->prci), &err); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->prci), 0, memmap[SIFIVE_U_PRCI].base); > > qdev_prop_set_uint32(DEVICE(&s->otp), "serial", s->serial); > - object_property_set_bool(OBJECT(&s->otp), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->otp), &err); > sysbus_mmio_map(SYS_BUS_DEVICE(&s->otp), 0, memmap[SIFIVE_U_OTP].base); > > for (i = 0; i < SIFIVE_U_PLIC_NUM_SOURCES; i++) { > @@ -614,7 +607,7 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) > } > object_property_set_int(OBJECT(&s->gem), GEM_REVISION, "revision", > &error_abort); > - object_property_set_bool(OBJECT(&s->gem), true, "realized", &err); > + sysbus_realize(SYS_BUS_DEVICE(&s->gem), &err); > if (err) { > error_propagate(errp, err); > return; > -- > 2.21.1 > >