[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 030/173] imx_avic: QOM cast cleanup
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 030/173] imx_avic: QOM cast cleanup |
Date: |
Mon, 29 Jul 2013 21:18:07 +0200 |
Introduce type constant, use QOM casts and prepare SysBus initfn for QOM
realize by resolving SysBusDevice vs. DeviceState "dev" name conflict.
Acked-by: Peter Chubb <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
hw/intc/imx_avic.c | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/hw/intc/imx_avic.c b/hw/intc/imx_avic.c
index 75c8ffd..fb00e91 100644
--- a/hw/intc/imx_avic.c
+++ b/hw/intc/imx_avic.c
@@ -55,8 +55,13 @@ do { printf("imx_avic: " fmt , ##args); } while (0)
#define PRIO_PER_WORD (sizeof(uint32_t) * 8 / 4)
#define PRIO_WORDS (IMX_AVIC_NUM_IRQS/PRIO_PER_WORD)
-typedef struct {
- SysBusDevice busdev;
+#define TYPE_IMX_AVIC "imx_avic"
+#define IMX_AVIC(obj) \
+ OBJECT_CHECK(IMXAVICState, (obj), TYPE_IMX_AVIC)
+
+typedef struct IMXAVICState {
+ SysBusDevice parent_obj;
+
MemoryRegion iomem;
uint64_t pending;
uint64_t enabled;
@@ -359,7 +364,8 @@ static const MemoryRegionOps imx_avic_ops = {
static void imx_avic_reset(DeviceState *dev)
{
- IMXAVICState *s = container_of(dev, IMXAVICState, busdev.qdev);
+ IMXAVICState *s = IMX_AVIC(dev);
+
s->pending = 0;
s->enabled = 0;
s->is_fiq = 0;
@@ -368,17 +374,18 @@ static void imx_avic_reset(DeviceState *dev)
memset(s->prio, 0, sizeof s->prio);
}
-static int imx_avic_init(SysBusDevice *dev)
+static int imx_avic_init(SysBusDevice *sbd)
{
- IMXAVICState *s = FROM_SYSBUS(IMXAVICState, dev);
+ DeviceState *dev = DEVICE(sbd);
+ IMXAVICState *s = IMX_AVIC(dev);
memory_region_init_io(&s->iomem, OBJECT(s), &imx_avic_ops, s,
"imx_avic", 0x1000);
- sysbus_init_mmio(dev, &s->iomem);
+ sysbus_init_mmio(sbd, &s->iomem);
- qdev_init_gpio_in(&dev->qdev, imx_avic_set_irq, IMX_AVIC_NUM_IRQS);
- sysbus_init_irq(dev, &s->irq);
- sysbus_init_irq(dev, &s->fiq);
+ qdev_init_gpio_in(dev, imx_avic_set_irq, IMX_AVIC_NUM_IRQS);
+ sysbus_init_irq(sbd, &s->irq);
+ sysbus_init_irq(sbd, &s->fiq);
return 0;
}
@@ -395,7 +402,7 @@ static void imx_avic_class_init(ObjectClass *klass, void
*data)
}
static const TypeInfo imx_avic_info = {
- .name = "imx_avic",
+ .name = TYPE_IMX_AVIC,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(IMXAVICState),
.class_init = imx_avic_class_init,
--
1.8.1.4
- [Qemu-devel] [PULL 017/173] audio/marvell_88w8618: QOM cast cleanup, (continued)
- [Qemu-devel] [PULL 017/173] audio/marvell_88w8618: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 018/173] milkymist-ac97: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 019/173] pl041: Rename pl041_state to PL041State, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 020/173] pl041: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 021/173] onenand: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 022/173] exynos4210_fimd: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 023/173] g364fb: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 024/173] jazz_led: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 025/173] milkymist-tmu2: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 028/173] pl110: QOM'ify pl110, pl110_versatile and pl111, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 030/173] imx_avic: QOM cast cleanup,
Andreas Färber <=
- [Qemu-devel] [PULL 026/173] milkymist-vgafb: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 031/173] imx_ccm: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 027/173] pl110: Rename pl110_state to PL110State, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 029/173] tcx: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 032/173] armv7m: QOM cast cleanup for BitBandState, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 033/173] highbank: QOM cast cleanup for HighbankRegsState, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 034/173] integratorcp: QOM cast cleanup for integratorcm_state, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 036/173] musicpal: Fix typo in name of local function, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 035/173] integratorcp: QOM cast cleanup for icp_pic_state, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 037/173] musicpal: QOM cast cleanup for mv88w8618_eth_state, Andreas Färber, 2013/07/29