From: Gonglei <arei.gong...@huawei.com>

Add a qom property with the same name 'bootindex',
when we remove it form qdev property, things will
continue to work just fine, and we can use qom features
which are not supported by qdev property.

Signed-off-by: Gonglei <arei.gong...@huawei.com>
---
 hw/net/rtl8139.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
index b6d3930..eba60d1 100644
--- a/hw/net/rtl8139.c
+++ b/hw/net/rtl8139.c
@@ -3543,6 +3543,29 @@ static int pci_rtl8139_init(PCIDevice *dev)
     return 0;
 }
 
+static void rtl8139_get_bootindex(Object *obj, Visitor *v, void *opaque,
+                                  const char *name, Error **errp)
+{
+    RTL8139State *s = RTL8139(obj);
+
+    get_bootindex(&s->conf.bootindex, v, name, errp);
+}
+
+static void rtl8139_set_bootindex(Object *obj, Visitor *v, void *opaque,
+                                  const char *name, Error **errp)
+{
+    RTL8139State *s = RTL8139(obj);
+
+    set_bootindex(&s->conf.bootindex, v, name, errp);
+}
+
+static void rtl8139_instance_init(Object *obj)
+{
+    object_property_add(obj, "bootindex", "int",
+                        rtl8139_get_bootindex,
+                        rtl8139_set_bootindex, NULL, NULL, NULL);
+}
+
 static Property rtl8139_properties[] = {
     DEFINE_NIC_PROPERTIES(RTL8139State, conf),
     DEFINE_PROP_END_OF_LIST(),
@@ -3571,6 +3594,7 @@ static const TypeInfo rtl8139_info = {
     .parent        = TYPE_PCI_DEVICE,
     .instance_size = sizeof(RTL8139State),
     .class_init    = rtl8139_class_init,
+    .instance_init = rtl8139_instance_init,
 };
 
 static void rtl8139_register_types(void)
-- 
1.7.12.4



Reply via email to