On 9/3/19 5:36 PM, Peter Maydell wrote: > From: Philippe Mathieu-Daudé <phi...@redhat.com> > > Both object_initialize() and qdev_set_parent_bus() increase the > reference counter of the new object, so one of the references has > to be dropped afterwards to get the reference counting right. > In machine model code this refcount leak is not particularly > problematic because (unlike devices) machines will never be > created on demand via QMP, and they are never destroyed. > But in any case let's use the new sysbus_init_child_obj() instead > to get the reference counting here right. > > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > Message-id: 20190823143249.8096-4-phi...@redhat.com > [PMM: rewrote commit message]
Thank you very much Peter! > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > hw/arm/exynos4_boards.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c > index f69358a5ba8..2781d8bd419 100644 > --- a/hw/arm/exynos4_boards.c > +++ b/hw/arm/exynos4_boards.c > @@ -131,8 +131,8 @@ exynos4_boards_init_common(MachineState *machine, > exynos4_boards_init_ram(s, get_system_memory(), > exynos4_board_ram_size[board_type]); > > - object_initialize(&s->soc, sizeof(s->soc), TYPE_EXYNOS4210_SOC); > - qdev_set_parent_bus(DEVICE(&s->soc), sysbus_get_default()); > + sysbus_init_child_obj(OBJECT(machine), "soc", > + &s->soc, sizeof(s->soc), TYPE_EXYNOS4210_SOC); > object_property_set_bool(OBJECT(&s->soc), true, "realized", > &error_fatal);