diff options
author | Hu Tao <hutao@cn.fujitsu.com> | 2013-07-01 18:18:31 +0800 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2013-07-23 00:37:35 +0200 |
commit | 7acb423fcfd8fbf75f672de70ab945a24cc31ef5 (patch) | |
tree | caaac71d788011f409ddd9aa67009b729ac6a93d /hw | |
parent | da3bd64234dc6c77091a0fb8a2612668dbaffd37 (diff) | |
download | hqemu-7acb423fcfd8fbf75f672de70ab945a24cc31ef5.zip hqemu-7acb423fcfd8fbf75f672de70ab945a24cc31ef5.tar.gz |
ahci: Use QOM realize for ahci
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
[AF: Avoided repeated SYS_BUS_DEVICE() casts]
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/ide/ahci.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c index d76e6eb..419adde 100644 --- a/hw/ide/ahci.c +++ b/hw/ide/ahci.c @@ -1314,14 +1314,15 @@ static void sysbus_ahci_reset(DeviceState *dev) ahci_reset(&s->ahci); } -static int sysbus_ahci_init(SysBusDevice *dev) +static void sysbus_ahci_realize(DeviceState *dev, Error **errp) { + SysBusDevice *sbd = SYS_BUS_DEVICE(dev); SysbusAHCIState *s = SYSBUS_AHCI(dev); - ahci_init(&s->ahci, DEVICE(dev), NULL, s->num_ports); - sysbus_init_mmio(dev, &s->ahci.mem); - sysbus_init_irq(dev, &s->ahci.irq); - return 0; + ahci_init(&s->ahci, dev, NULL, s->num_ports); + + sysbus_init_mmio(sbd, &s->ahci.mem); + sysbus_init_irq(sbd, &s->ahci.irq); } static Property sysbus_ahci_properties[] = { @@ -1331,10 +1332,9 @@ static Property sysbus_ahci_properties[] = { static void sysbus_ahci_class_init(ObjectClass *klass, void *data) { - SysBusDeviceClass *sbc = SYS_BUS_DEVICE_CLASS(klass); DeviceClass *dc = DEVICE_CLASS(klass); - sbc->init = sysbus_ahci_init; + dc->realize = sysbus_ahci_realize; dc->vmsd = &vmstate_sysbus_ahci; dc->props = sysbus_ahci_properties; dc->reset = sysbus_ahci_reset; |