[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 04/18] dec_pci: QOM'ify DEC 21154 PCI-PCI bridge
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH v4 04/18] dec_pci: QOM'ify DEC 21154 PCI-PCI bridge |
Date: |
Thu, 26 Jul 2012 14:28:22 +0200 |
Introduce type constant. Introduce cast macro and drop dummy busdev
field used with FROM_SYSBUS() that would've broken SYS_BUS_DEVICE().
Avoid accessing parent fields directly.
Signed-off-by: Andreas Färber <address@hidden>
---
hw/dec_pci.c | 21 +++++++++++----------
hw/dec_pci.h | 2 ++
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/hw/dec_pci.c b/hw/dec_pci.c
index 5194a9f..19aed1b 100644
--- a/hw/dec_pci.c
+++ b/hw/dec_pci.c
@@ -40,8 +40,9 @@
#define DEC_DPRINTF(fmt, ...)
#endif
+#define DEC_21154(obj) OBJECT_CHECK(DECState, (obj), TYPE_DEC_21154)
+
typedef struct DECState {
- SysBusDevice busdev;
PCIHostState host_state;
} DECState;
@@ -88,16 +89,16 @@ PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn)
static int pci_dec_21154_device_init(SysBusDevice *dev)
{
- DECState *s;
+ PCIHostState *phb;
- s = FROM_SYSBUS(DECState, dev);
+ phb = FROM_SYSBUS(PCIHostState, dev);
- memory_region_init_io(&s->host_state.conf_mem, &pci_host_conf_le_ops,
- &s->host_state, "pci-conf-idx", 0x1000);
- memory_region_init_io(&s->host_state.data_mem, &pci_host_data_le_ops,
- &s->host_state, "pci-data-idx", 0x1000);
- sysbus_init_mmio(dev, &s->host_state.conf_mem);
- sysbus_init_mmio(dev, &s->host_state.data_mem);
+ memory_region_init_io(&phb->conf_mem, &pci_host_conf_le_ops,
+ dev, "pci-conf-idx", 0x1000);
+ memory_region_init_io(&phb->data_mem, &pci_host_data_le_ops,
+ dev, "pci-data-idx", 0x1000);
+ sysbus_init_mmio(dev, &phb->conf_mem);
+ sysbus_init_mmio(dev, &phb->data_mem);
return 0;
}
@@ -134,7 +135,7 @@ static void pci_dec_21154_device_class_init(ObjectClass
*klass, void *data)
}
static const TypeInfo pci_dec_21154_device_info = {
- .name = "dec-21154-sysbus",
+ .name = TYPE_DEC_21154,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(DECState),
.class_init = pci_dec_21154_device_class_init,
diff --git a/hw/dec_pci.h b/hw/dec_pci.h
index 79264ba..17dc0c2 100644
--- a/hw/dec_pci.h
+++ b/hw/dec_pci.h
@@ -3,6 +3,8 @@
#include "qemu-common.h"
+#define TYPE_DEC_21154 "dec-21154-sysbus"
+
PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn);
#endif
--
1.7.7
- [Qemu-devel] [PATCH v4 00/18] pci_host: Convert to QOM, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 03/18] bonito: QOM'ify Bonito PCI host bridge, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 05/18] grackle_pci: QOM'ify Grackle PCI host bridge, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 02/18] alpha_typhoon: QOM'ify Typhoon PCI host bridge, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 09/18] prep_pci: QOM'ify Raven PCI host bridge, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 01/18] pci: Make host bridge TypeInfos const, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 04/18] dec_pci: QOM'ify DEC 21154 PCI-PCI bridge,
Andreas Färber <=
- [Qemu-devel] [PATCH v4 06/18] gt64xxx: QOM'ify GT64120 PCI host bridge, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 08/18] ppce500_pci: QOM'ify e500 PCI host bridge, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 10/18] spapr_pci: QOM'ify sPAPR PCI host bridge, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 07/18] ppc4xx_pci: QOM'ify ppc4xx PCI host bridge, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 11/18] unin_pci: QOM'ify UniNorth PCI host bridges, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 13/18] pci: Derive PCI host bridges from TYPE_PCI_HOST_BRIDGE, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH v4 12/18] pci_host: Turn into SysBus-derived QOM type, Andreas Färber, 2012/07/26
- [Qemu-devel] [PATCH RFC v4 15/18] MAINTAINERS: Document sPAPR (pSeries) machine, Andreas Färber, 2012/07/26