diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2011-12-04 11:52:49 -0600 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-01-27 10:50:47 -0600 |
commit | 8f04ee0882aec9fe91fb70f767edf5dacff59835 (patch) | |
tree | 01ebc9678569233858c2343c9cb04e62c2df55ad /hw/cs4231a.c | |
parent | e855761ca8fa08ebe29c1e69abc6f0863a453f92 (diff) |
isa: pic: convert to QEMU Object Model
This converts two devices at once because PIC subclasses ISA and converting
subclasses independently is extremely hard.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/cs4231a.c')
-rw-r--r-- | hw/cs4231a.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/hw/cs4231a.c b/hw/cs4231a.c index dc77a3aa15..811c76bbb3 100644 --- a/hw/cs4231a.c +++ b/hw/cs4231a.c @@ -665,13 +665,19 @@ int cs4231a_init (ISABus *bus) return 0; } -static ISADeviceInfo cs4231a_info = { - .qdev.name = "cs4231a", - .qdev.desc = "Crystal Semiconductor CS4231A", - .qdev.size = sizeof (CSState), - .qdev.vmsd = &vmstate_cs4231a, - .init = cs4231a_initfn, - .qdev.props = (Property[]) { +static void cs4231a_class_initfn(ObjectClass *klass, void *data) +{ + ISADeviceClass *ic = ISA_DEVICE_CLASS(klass); + ic->init = cs4231a_initfn; +} + +static DeviceInfo cs4231a_info = { + .name = "cs4231a", + .desc = "Crystal Semiconductor CS4231A", + .size = sizeof (CSState), + .vmsd = &vmstate_cs4231a, + .class_init = cs4231a_class_initfn, + .props = (Property[]) { DEFINE_PROP_HEX32 ("iobase", CSState, port, 0x534), DEFINE_PROP_UINT32 ("irq", CSState, irq, 9), DEFINE_PROP_UINT32 ("dma", CSState, dma, 3), |