qemu/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 hw/*/Makefile.objs: Move many .o files to common-objs 2020-02-04 09:00:57 +01:00
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 cpu/arm11mpcore: Set number of GIC priority bits to 4 2020-02-28 16:14:57 +00:00
cris hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
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 qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
ipmi qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
isa hw/isa/superio: Make the components QOM children 2020-05-15 07:07:58 +02:00
lm32 hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
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 hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
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 hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
net e1000: Don't run e1000_instance_init() twice 2020-05-15 07:07:58 +02:00
nios2 hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
nubus hw/m68k: add Nubus support 2019-10-28 19:06:47 +01:00
nvram fw_cfg: Migrate ACPI table mr sizes separately 2020-04-13 06:55:54 -04:00
openrisc hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
pci hw/pci/pcie: Replace PCI_DEVICE() casts with existing variable 2020-05-04 10:25:02 -04:00
pci-bridge pcie_root_port: Add hotplug disabling option 2020-03-08 09:18:29 -04:00
pci-host hw/pci-host: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:47 +01:00
pcmcia hw/*/Makefile.objs: Move many .o files to common-objs 2020-02-04 09:00:57 +01:00
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 semihosting: add qemu_semihosting_console_inc for SYS_READC 2020-01-09 11:41:29 +00:00
sh4 hw/sh4: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:47 +01:00
smbios hw/smbios/smbios: Remove unused include 2020-02-06 10:38:57 +01:00
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 hw: Do not initialize MachineClass::is_default to 0 2020-02-28 14:57:19 -05:00
unicore32 hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
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 qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
xen qom: Drop object_property_set_description() parameter @errp 2020-05-15 07:06:49 +02:00
xenpv trivial: Remove xenfb_enabled from sysemu.h 2020-02-04 09:00:57 +01:00
xtensa hw/xtensa/xtfpga:fix leak of fdevice tree blob 2020-02-19 10:33:38 +01:00
Kconfig Remove the core bluetooth code 2019-12-17 09:01:14 +01:00
Makefile.objs Remove the core bluetooth code 2019-12-17 09:01:14 +01:00