diff options
author | Gonglei <arei.gonglei@huawei.com> | 2014-10-07 16:00:13 +0800 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2014-10-15 09:52:54 +0200 |
commit | 5df3bf623d1047307ba5aa42f2200bbb29688325 (patch) | |
tree | 2384fde741c897ec7fecfc8b0459b9ae86909ea6 | |
parent | aa4197c32337aac32b0ed2a37fdbd80a2c0bfaec (diff) | |
download | qemu-5df3bf623d1047307ba5aa42f2200bbb29688325.zip qemu-5df3bf623d1047307ba5aa42f2200bbb29688325.tar.gz qemu-5df3bf623d1047307ba5aa42f2200bbb29688325.tar.bz2 |
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 <arei.gonglei@huawei.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r-- | hw/net/e1000.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 272df00..0edbfa6 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); } |