提交 3dde52d2 编写于 作者: A Anthony Liguori

qdev: add class_init to DeviceInfo

Since we are still dynamically creating TypeInfo, we need to chain the
class_init function in order to be able to make use of it within subclasses of
TYPE_DEVICE.

This will disappear once we register TypeInfos directly.
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 3cc90eb2
......@@ -54,6 +54,10 @@ static void qdev_subclass_init(ObjectClass *klass, void *data)
/* Poison to try to detect future uses */
dc->info->reset = NULL;
if (dc->info->class_init) {
dc->info->class_init(klass, data);
}
}
DeviceInfo *qdev_get_info(DeviceState *dev)
......
......@@ -231,6 +231,11 @@ struct DeviceInfo {
/* device state */
const VMStateDescription *vmsd;
/**
* See #TypeInfo::class_init()
*/
void (*class_init)(ObjectClass *klass, void *data);
/* Private to qdev / bus. */
qdev_initfn init;
qdev_event unplug;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册