[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 04/26] i440fx-pcihost: use realize for i440fx-pci
From: |
Hu Tao |
Subject: |
[Qemu-devel] [PATCH v2 04/26] i440fx-pcihost: use realize for i440fx-pcihost |
Date: |
Mon, 1 Jul 2013 18:18:20 +0800 |
Signed-off-by: Hu Tao <address@hidden>
---
hw/pci-host/piix.c | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index f9e68c3..801341a 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -197,21 +197,26 @@ static const VMStateDescription vmstate_i440fx = {
}
};
-static int i440fx_pcihost_initfn(SysBusDevice *dev)
+static void i440fx_pcihost_initfn(Object *obj)
{
- PCIHostState *s = PCI_HOST_BRIDGE(dev);
+ PCIHostState *s = PCI_HOST_BRIDGE(obj);
memory_region_init_io(&s->conf_mem, &pci_host_conf_le_ops, s,
"pci-conf-idx", 4);
- sysbus_add_io(dev, 0xcf8, &s->conf_mem);
- sysbus_init_ioports(&s->busdev, 0xcf8, 4);
-
memory_region_init_io(&s->data_mem, &pci_host_data_le_ops, s,
"pci-conf-data", 4);
- sysbus_add_io(dev, 0xcfc, &s->data_mem);
- sysbus_init_ioports(&s->busdev, 0xcfc, 4);
+}
- return 0;
+static void i440fx_pcihost_realize(DeviceState *dev, Error **errp)
+{
+ PCIHostState *s = PCI_HOST_BRIDGE(dev);
+ SysBusDevice *b = SYS_BUS_DEVICE(dev);
+
+ sysbus_add_io(b, 0xcf8, &s->conf_mem);
+ sysbus_init_ioports(b, 0xcf8, 4);
+
+ sysbus_add_io(b, 0xcfc, &s->data_mem);
+ sysbus_init_ioports(b, 0xcfc, 4);
}
static int i440fx_initfn(PCIDevice *dev)
@@ -632,9 +637,8 @@ static const TypeInfo i440fx_info = {
static void i440fx_pcihost_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
- k->init = i440fx_pcihost_initfn;
+ dc->realize = i440fx_pcihost_realize;
dc->fw_name = "pci";
dc->no_user = 1;
}
@@ -643,6 +647,7 @@ static const TypeInfo i440fx_pcihost_info = {
.name = "i440FX-pcihost",
.parent = TYPE_PCI_HOST_BRIDGE,
.instance_size = sizeof(I440FXState),
+ .instance_init = i440fx_pcihost_initfn,
.class_init = i440fx_pcihost_class_init,
};
--
1.8.3.1
- [Qemu-devel] [PATCH v2 00/26] use realizefn for SysBusDevice, part 1, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 01/26] sysbus: document SysBusDeviceClass about @init, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 02/26] ohci: QOM'ify some more, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 03/26] ohci: use realize for ohci, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 05/26] i440fx: use type-safe cast instead of directly access of parent dev, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 04/26] i440fx-pcihost: use realize for i440fx-pcihost,
Hu Tao <=
- [Qemu-devel] [PATCH v2 06/26] q35: use type-safe cast instead of directly access of parent dev, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 08/26] fdc: QOM'ify some more, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 07/26] q35: use realize for q35 host, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 11/26] pflash_cfi01: use realize for pflash_cfi01, Hu Tao, 2013/07/01
- [Qemu-devel] [PATCH v2 09/26] fdc: use realize for fdc., Hu Tao, 2013/07/01