From: Gonglei Date: Tue, 7 Oct 2014 08:00:13 +0000 (+0800) Subject: e1000: add bootindex to qom property X-Git-Tag: xen-15-06-02~366^2~25 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=5df3bf623d1047307ba5aa42f2200bbb29688325;p=people%2Fsstabellini%2Fqemu-dm.git%2F.git e1000: add bootindex to qom property 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 Reviewed-by: Gerd Hoffmann Signed-off-by: Gerd Hoffmann --- diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 272df00f4a..0edbfa6b8a 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -1621,10 +1621,19 @@ static void e1000_class_init(ObjectClass *klass, void *data) dc->props = e1000_properties; } +static void e1000_instance_init(Object *obj) +{ + E1000State *n = E1000(obj); + device_add_bootindex_property(obj, &n->conf.bootindex, + "bootindex", "/ethernet-phy@0", + DEVICE(n), NULL); +} + static const TypeInfo e1000_base_info = { .name = TYPE_E1000_BASE, .parent = TYPE_PCI_DEVICE, .instance_size = sizeof(E1000State), + .instance_init = e1000_instance_init, .class_size = sizeof(E1000BaseClass), .abstract = true, }; @@ -1668,6 +1677,7 @@ static void e1000_register_types(void) type_info.parent = TYPE_E1000_BASE; type_info.class_data = (void *)info; type_info.class_init = e1000_class_init; + type_info.instance_init = e1000_instance_init; type_register(&type_info); }