mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 19:49:43 +00:00
ppce500_pci: QOM'ify e500 PCI host bridge
Introduce type constant and cast macro. Avoid accessing parent fields directly. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
42c281a283
commit
9c1a61f0e5
@ -72,8 +72,14 @@ struct pci_inbound {
|
||||
uint32_t piwar;
|
||||
};
|
||||
|
||||
#define TYPE_PPC_E500_PCI_HOST_BRIDGE "e500-pcihost"
|
||||
|
||||
#define PPC_E500_PCI_HOST_BRIDGE(obj) \
|
||||
OBJECT_CHECK(PPCE500PCIState, (obj), TYPE_PPC_E500_PCI_HOST_BRIDGE)
|
||||
|
||||
struct PPCE500PCIState {
|
||||
PCIHostState pci_state;
|
||||
|
||||
struct pci_outbound pob[PPCE500_PCI_NR_POBS];
|
||||
struct pci_inbound pib[PPCE500_PCI_NR_PIBS];
|
||||
uint32_t gasket_time;
|
||||
@ -310,17 +316,17 @@ static int e500_pcihost_initfn(SysBusDevice *dev)
|
||||
MemoryRegion *address_space_mem = get_system_memory();
|
||||
MemoryRegion *address_space_io = get_system_io();
|
||||
|
||||
h = FROM_SYSBUS(PCIHostState, sysbus_from_qdev(dev));
|
||||
s = DO_UPCAST(PPCE500PCIState, pci_state, h);
|
||||
h = FROM_SYSBUS(PCIHostState, dev);
|
||||
s = PPC_E500_PCI_HOST_BRIDGE(dev);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(s->irq); i++) {
|
||||
sysbus_init_irq(dev, &s->irq[i]);
|
||||
}
|
||||
|
||||
b = pci_register_bus(&s->pci_state.busdev.qdev, NULL, mpc85xx_pci_set_irq,
|
||||
b = pci_register_bus(DEVICE(dev), NULL, mpc85xx_pci_set_irq,
|
||||
mpc85xx_pci_map_irq, s->irq, address_space_mem,
|
||||
address_space_io, PCI_DEVFN(0x11, 0), 4);
|
||||
s->pci_state.bus = b;
|
||||
h->bus = b;
|
||||
|
||||
pci_create_simple(b, 0, "e500-host-bridge");
|
||||
|
||||
@ -367,7 +373,7 @@ static void e500_pcihost_class_init(ObjectClass *klass, void *data)
|
||||
}
|
||||
|
||||
static const TypeInfo e500_pcihost_info = {
|
||||
.name = "e500-pcihost",
|
||||
.name = TYPE_PPC_E500_PCI_HOST_BRIDGE,
|
||||
.parent = TYPE_SYS_BUS_DEVICE,
|
||||
.instance_size = sizeof(PPCE500PCIState),
|
||||
.class_init = e500_pcihost_class_init,
|
||||
|
Loading…
Reference in New Issue
Block a user