qemu/hw/isa
Markus Armbruster e508430619 hw/isa/superio: Make the components QOM children
isa_superio_realize() attempts to make isa-parallel and isa-serial QOM
children, but this does not work, because it calls
object_property_add_child() after realizing with qdev_init_nofail().
Realizing a device without a parent gives it one: it gets put into the
"/machine/unattached/" orphanage.  The extra
object_property_add_child() fails, and isa_superio_realize() ignores
the error.

Move the object_property_add_child() before qdev_init_nofail(), and
pass &error_abort.

For the other components, isa_superio_realize() doesn't even try.  Add
object_property_add_child() there.

This affects machines 40p, clipper and fulong2e.

For instance, fulong2e has its vt82c686b-superio (which is an
isa-superio) at /machine/unattached/device[9].  Before the patch, its
components are at /machine/unattached/device[10] .. [14].  Afterwards,
they are at
/machine/unattached/device[9]/{parallel0,serial0,serial1,isa-fdc,i8042}.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200505152926.18877-11-armbru@redhat.com>
2020-05-15 07:07:58 +02:00
..
apm.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
i82378.c hw/isa/i82378: Remove dead assignment 2020-05-04 14:43:24 +02:00
isa-bus.c acpi: add ISADeviceClass->build_aml() 2020-05-04 10:25:02 -04:00
isa-superio.c hw/isa/superio: Make the components QOM children 2020-05-15 07:07:58 +02:00
Kconfig hw/input: Do not enable CONFIG_PCKBD by default 2020-02-04 09:01:31 +01:00
lpc_ich9.c qom/object: Use common get/set uint helpers 2020-03-16 23:02:24 +01:00
Makefile.objs hw/pci-host/piix: Extract PIIX3 functions to hw/isa/piix3.c 2019-11-05 23:33:12 +01:00
pc87312.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
piix3.c hw/pci-host/piix: Extract PIIX3 functions to hw/isa/piix3.c 2019-11-05 23:33:12 +01:00
piix4.c hw/ide: Remove unneeded inclusion of hw/ide.h 2020-03-17 12:22:36 -04:00
smc37c669-superio.c hw/isa/superio: Correct the license text 2020-04-01 19:00:16 +02:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
vt82c686.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00