Philippe Mathieu-Daudé <phi...@redhat.com> writes:

> On 4/28/20 6:34 PM, Markus Armbruster wrote:
>> 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.
>
> I suppose it was not that obvious at the time of that comment :)

Safe guess :)

> commit 615c4895703164134379b68214130dd502721174
> Author: Andreas Färber <afaer...@suse.de>
> Date:   Wed Jun 18 00:57:08 2014 -0700
>
>     irq: Slim conversion of qemu_irq to QOM
>
>     As a prequel to any big Pin refactoring plans,
>     do an in-place conversion of qemu_irq to an Object,
>     so that we can reference it in link<> properties.
>
>
> commit 02757df2ad2d5dfc96482e2cdfa046f439dafc3d
> Author: Peter Crosthwaite <peter.crosthwa...@xilinx.com>
> Date:   Thu Sep 25 22:20:25 2014 -0700
>
>     qdev: gpio: Re-implement qdev_connect_gpio QOM style
>
>     Re-implement as a link setter. This should allow the
>     QOM framework to keep track of ref counts properly etc.
>
>     We need to add a default parent for the connecting
>     input in case it's coming from a non-qdev source.
>     We simply parent the IRQ to the machine in this case.
>
>>
>> Change qdev_connect_gpio_out_named() to match.
>>
>> Cc: Peter Crosthwaite <peter.crosthwa...@xilinx.com>
>> Signed-off-by: Markus Armbruster <arm...@redhat.com>
>
> Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com>

Thanks!


Reply via email to