xemu/hw
Markus Armbruster 9f742c28f5 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>
2020-05-15 07:07:58 +02:00
..
9pfs xen-9pfs: Fix log messages of reply errors 2020-05-14 08:06:43 +02:00
acpi ACPI: Record Generic Error Status Block(GESB) table 2020-05-14 15:03:09 +01:00
adc
alpha hw/ide: Do ide_drive_get() within pci_ide_create_devs() 2020-03-17 12:22:36 -04:00
arm hw/arm/bcm2835: Drop futile attempts at QOM-adopting memory 2020-05-15 07:07:58 +02:00
audio Compress lines for immediate return 2020-05-04 14:43:22 +02:00
block vhost-user-blk: fix invalid memory access 2020-05-04 10:25:02 -04:00
char hw/char/cadence_uart: add clock support 2020-04-30 15:35:41 +01:00
core qdev: Clean up qdev_connect_gpio_out_named() 2020-05-15 07:07:58 +02:00
cpu
cris
display trivial patches (20200504) 2020-05-05 14:03:28 +01:00
dma qom: Clean up inconsistent use of gchar * vs. char * 2020-05-15 06:26:02 +02:00
gpio hw/gpio/aspeed_gpio: Remove dead assignment 2020-05-04 14:43:24 +02:00
hppa hw/ide: Remove unneeded inclusion of hw/ide.h 2020-03-17 12:22:36 -04:00
hyperv lockable: Replace locks with lock guard macros 2020-05-04 16:07:43 +01:00
i2c hw/arm/nrf51: Add NRF51_PERIPHERAL_SIZE definition 2020-05-11 11:05:11 +01:00
i386 qom: Drop object_property_set_description() parameter @errp 2020-05-15 07:06:49 +02:00
ide hw/ide/sii3112: Remove dead assignment 2020-05-04 14:43:24 +02:00
input hw/input/adb-kbd: Remove dead assignment 2020-05-04 14:43:24 +02:00
intc bugfix: Use gicr_typer in arm_gicv3_icc_reset 2020-04-30 11:52:27 +01:00
ipack
ipmi
isa hw/isa/superio: Make the components QOM children 2020-05-15 07:07:58 +02:00
lm32
m68k hw/m68k: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:47 +01:00
mem trivial patches (20200504) 2020-05-05 14:03:28 +01:00
microblaze
mips smbus: Fix spd_data_generate() error API violation 2020-04-29 08:01:52 +02:00
misc aspeed: sdmc: Implement AST2600 locking behaviour 2020-05-11 11:00:37 +01:00
moxie
net e1000: Don't run e1000_instance_init() twice 2020-05-15 07:07:58 +02:00
nios2
nubus
nvram fw_cfg: Migrate ACPI table mr sizes separately 2020-04-13 06:55:54 -04:00
openrisc
pci hw/pci/pcie: Replace PCI_DEVICE() casts with existing variable 2020-05-04 10:25:02 -04:00
pci-bridge
pci-host hw/pci-host: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:47 +01:00
pcmcia
ppc qom: Drop object_property_set_description() parameter @errp 2020-05-15 07:06:49 +02:00
rdma lockable: Replace locks with lock guard macros 2020-05-04 16:07:43 +01:00
riscv qom: Drop object_property_set_description() parameter @errp 2020-05-15 07:06:49 +02:00
rtc rtc: add RTC_ISA_BASE 2020-05-04 10:25:02 -04:00
s390x qom: Drop object_property_set_description() parameter @errp 2020-05-15 07:06:49 +02:00
scsi scsi/esp-pci: add g_assert() for fix clang analyzer warning in esp_pci_io_write() 2020-05-04 11:17:27 +02:00
sd various: Remove suspicious '\' character outside of #define in C code 2020-04-29 08:01:51 +02:00
semihosting
sh4 hw/sh4: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:47 +01:00
smbios
sparc qom: Drop object_property_set_description() parameter @errp 2020-05-15 07:06:49 +02:00
sparc64 hw/ide: Do ide_drive_get() within pci_ide_create_devs() 2020-03-17 12:22:36 -04:00
ssi hw/core: stream: Add an end-of-packet flag 2020-05-14 13:44:35 +02:00
timer hw/timer/nrf51_timer: Add trace event of counter value update 2020-05-11 11:05:52 +01:00
tpm hw/tpm: fix usage of bool in tpm-tis.c 2020-05-12 11:47:24 -04:00
tricore
unicore32
usb hw/usb/xen-usb.c: Pass struct usbback_req* to usbback_packet_complete() 2020-04-07 16:13:26 +01:00
vfio lockable: replaced locks with lock guard macros where appropriate 2020-05-04 16:07:43 +01:00
virtio Refactor vhost_user_set_mem_table functions 2020-05-04 10:25:03 -04:00
watchdog
xen qom: Drop object_property_set_description() parameter @errp 2020-05-15 07:06:49 +02:00
xenpv
xtensa
Kconfig
Makefile.objs