@@ -13,6 +13,7 @@
#include "hw/isa/isa.h"
#include "hw/qdev-properties.h"
#include "net/net.h"
+#include "qapi/error.h"
#define TYPE_ISA_NE2000 "ne2k_isa"
@@ -23,14 +24,14 @@ static inline ISADevice *isa_ne2000_init(ISABus *bus, int base, int irq,
qemu_check_nic_model(nd, "ne2k_isa");
- d = isa_try_create(bus, TYPE_ISA_NE2000);
+ d = isa_try_new(TYPE_ISA_NE2000);
if (d) {
DeviceState *dev = DEVICE(d);
qdev_prop_set_uint32(dev, "iobase", base);
qdev_prop_set_uint32(dev, "irq", irq);
qdev_set_nic_properties(dev, nd);
- qdev_init_nofail(dev);
+ isa_realize_and_unref(d, bus, &error_fatal);
}
return d;
}
@@ -2544,7 +2544,7 @@ ISADevice *fdctrl_init_isa(ISABus *bus, DriveInfo **fds)
DeviceState *dev;
ISADevice *isadev;
- isadev = isa_try_create(bus, TYPE_ISA_FDC);
+ isadev = isa_try_new(TYPE_ISA_FDC);
if (!isadev) {
return NULL;
}
@@ -2558,7 +2558,7 @@ ISADevice *fdctrl_init_isa(ISABus *bus, DriveInfo **fds)
qdev_prop_set_drive(dev, "driveB", blk_by_legacy_dinfo(fds[1]),
&error_fatal);
}
- qdev_init_nofail(dev);
+ isa_realize_and_unref(isadev, bus, &error_fatal);
return isadev;
}
@@ -1157,14 +1157,14 @@ static void pc_superio_init(ISABus *isa_bus, bool create_fdctrl, bool no_vmport)
i8042 = isa_create_simple(isa_bus, "i8042");
if (!no_vmport) {
isa_create_simple(isa_bus, TYPE_VMPORT);
- vmmouse = isa_try_create(isa_bus, "vmmouse");
+ vmmouse = isa_try_new("vmmouse");
} else {
vmmouse = NULL;
}
if (vmmouse) {
object_property_set_link(OBJECT(vmmouse), OBJECT(i8042),
"i8042", &error_abort);
- qdev_init_nofail(DEVICE(vmmouse));
+ isa_realize_and_unref(vmmouse, isa_bus, &error_fatal);
}
port92 = isa_create_simple(isa_bus, TYPE_PORT92);
@@ -694,12 +694,11 @@ static bool pnv_match_cpu(const char *default_type, const char *cpu_type)
static void pnv_ipmi_bt_init(ISABus *bus, IPMIBmc *bmc, uint32_t irq)
{
- Object *obj;
+ ISADevice *dev = isa_new("isa-ipmi-bt");
- obj = OBJECT(isa_create(bus, "isa-ipmi-bt"));
- object_property_set_link(obj, OBJECT(bmc), "bmc", &error_fatal);
- object_property_set_int(obj, irq, "irq", &error_fatal);
- object_property_set_bool(obj, true, "realized", &error_fatal);
+ object_property_set_link(OBJECT(dev), OBJECT(bmc), "bmc", &error_fatal);
+ object_property_set_int(OBJECT(dev), irq, "irq", &error_fatal);
+ isa_realize_and_unref(dev, bus, &error_fatal);
}
static void pnv_chip_power10_pic_print_info(PnvChip *chip, Monitor *mon)