diff options
author | Andreas Färber <afaerber@suse.de> | 2013-02-16 11:27:26 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-02-18 08:39:27 -0600 |
commit | c538ca66ffec97432057d3fe1aa5a4bb417ae9e9 (patch) | |
tree | d099300bafd605444eff3c0fbf1974aa8c5f9002 | |
parent | 872536bf5dfdf207d275cd627caec2aefb68aab9 (diff) |
isa: Split off instance_init for ISADevice
Prepares for assigning IRQs before QOM realize.
Signed-off-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Message-id: 1361010446-1427-1-git-send-email-afaerber@suse.de
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | hw/isa-bus.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/hw/isa-bus.c b/hw/isa-bus.c index fce311bc2a..6dc34f09f3 100644 --- a/hw/isa-bus.c +++ b/hw/isa-bus.c @@ -124,9 +124,6 @@ static int isa_qdev_init(DeviceState *qdev) ISADevice *dev = ISA_DEVICE(qdev); ISADeviceClass *klass = ISA_DEVICE_GET_CLASS(dev); - dev->isairq[0] = -1; - dev->isairq[1] = -1; - if (klass->init) { return klass->init(dev); } @@ -134,6 +131,14 @@ static int isa_qdev_init(DeviceState *qdev) return 0; } +static void isa_device_init(Object *obj) +{ + ISADevice *dev = ISA_DEVICE(obj); + + dev->isairq[0] = -1; + dev->isairq[1] = -1; +} + ISADevice *isa_create(ISABus *bus, const char *name) { DeviceState *dev; @@ -233,6 +238,7 @@ static const TypeInfo isa_device_type_info = { .name = TYPE_ISA_DEVICE, .parent = TYPE_DEVICE, .instance_size = sizeof(ISADevice), + .instance_init = isa_device_init, .abstract = true, .class_size = sizeof(ISADeviceClass), .class_init = isa_device_class_init, |