qdev: Clean up qdev_connect_gpio_out_named()
commit9f742c28f52d55ff83dc441a0cea365239a4906d
authorMarkus Armbruster <armbru@redhat.com>
Tue, 5 May 2020 15:29:21 +0000 (5 17:29 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Fri, 15 May 2020 05:07:58 +0000 (15 07:07 +0200)
treec0e2cbef83276a24fba9c43df94b0940064514a1
parent5462cc8110845f88ae80b82799121d15c9c3a8fc
qdev: Clean up qdev_connect_gpio_out_named()

Both qdev_connect_gpio_out_named() and device_set_realized() put
objects without a parent into the "/machine/unattached/" orphanage.

qdev_connect_gpio_out_named() needs a lengthy comment to explain how
it works.  It exploits that object_property_add_child() can fail only
when we got a parent already, and ignoring that error does what we
want.  True.  If it failed due to "duplicate property", we'd be in
trouble, but that would be a programming error.

device_set_realized() is cleaner: it checks whether we need a parent,
then calls object_property_add_child(), aborting on failure.  No need
for a comment, and programming errors get caught.

Change qdev_connect_gpio_out_named() to match.

Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200505152926.18877-14-armbru@redhat.com>
hw/core/qdev.c