@@ -226,27 +226,13 @@ static int spapr_vlan_init(VIOsPAPRDevice *sdev)
return 0;
}
-static void spapr_vlan_get_bootindex(Object *obj, Visitor *v, void *opaque,
- const char *name, Error **errp)
-{
- VIOsPAPRVLANDevice *dev = VIO_SPAPR_VLAN_DEVICE(obj);
-
- get_bootindex(&dev->nicconf.bootindex, v, name, errp);
-}
-
-static void spapr_vlan_set_bootindex(Object *obj, Visitor *v, void *opaque,
- const char *name, Error **errp)
+static void spapr_vlan_instance_init(Object *obj)
{
VIOsPAPRVLANDevice *dev = VIO_SPAPR_VLAN_DEVICE(obj);
- set_bootindex(&dev->nicconf.bootindex, v, name, errp);
-}
-
-static void spapr_vlan_instance_init(Object *obj)
-{
- object_property_add(obj, "bootindex", "int",
- spapr_vlan_get_bootindex,
- spapr_vlan_set_bootindex, NULL, NULL, NULL);
+ device_add_bootindex_property(obj, &dev->nicconf.bootindex,
+ "bootindex", "",
+ DEVICE(dev), NULL);
}
void spapr_vlan_create(VIOsPAPRBus *bus, NICInfo *nd)
@@ -2177,6 +2177,13 @@ static int vmxnet3_pci_init(PCIDevice *pci_dev)
return 0;
}
+static void vmxnet3_instance_init(Object *obj)
+{
+ VMXNET3State *s = VMXNET3(obj);
+ device_add_bootindex_property(obj, &s->conf.bootindex,
+ "bootindex", "/ethernet-phy@0",
+ DEVICE(obj), NULL);
+}
static void vmxnet3_pci_uninit(PCIDevice *pci_dev)
{
@@ -2524,6 +2531,7 @@ static const TypeInfo vmxnet3_info = {
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(VMXNET3State),
.class_init = vmxnet3_class_init,
+ .instance_init = vmxnet3_instance_init,
};
static void vmxnet3_register_types(void)