[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 080/173] omap_gpio: QOM cast cleanup for omap2_gpif_s
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 080/173] omap_gpio: QOM cast cleanup for omap2_gpif_s |
Date: |
Mon, 29 Jul 2013 21:18:57 +0200 |
Signed-off-by: Andreas Färber <address@hidden>
---
hw/gpio/omap_gpio.c | 35 +++++++++++++++++++++--------------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/hw/gpio/omap_gpio.c b/hw/gpio/omap_gpio.c
index 295caad..b8f572b 100644
--- a/hw/gpio/omap_gpio.c
+++ b/hw/gpio/omap_gpio.c
@@ -208,8 +208,13 @@ struct omap2_gpio_s {
uint8_t delay;
};
+#define TYPE_OMAP2_GPIO "omap2-gpio"
+#define OMAP2_GPIO(obj) \
+ OBJECT_CHECK(struct omap2_gpif_s, (obj), TYPE_OMAP2_GPIO)
+
struct omap2_gpif_s {
- SysBusDevice busdev;
+ SysBusDevice parent_obj;
+
MemoryRegion iomem;
int mpu_model;
void *iclk;
@@ -599,9 +604,9 @@ static void omap_gpif_reset(DeviceState *dev)
static void omap2_gpif_reset(DeviceState *dev)
{
+ struct omap2_gpif_s *s = OMAP2_GPIO(dev);
int i;
- struct omap2_gpif_s *s = FROM_SYSBUS(struct omap2_gpif_s,
- SYS_BUS_DEVICE(dev));
+
for (i = 0; i < s->modulecount; i++) {
omap2_gpio_module_reset(&s->modules[i]);
}
@@ -653,7 +658,7 @@ static void omap2_gpif_top_write(void *opaque, hwaddr addr,
case 0x10: /* IPGENERICOCPSPL_SYSCONFIG */
if (value & (1 << 1)) /* SOFTRESET */
- omap2_gpif_reset(&s->busdev.qdev);
+ omap2_gpif_reset(DEVICE(s));
s->autoidle = value & 1;
break;
@@ -690,10 +695,12 @@ static int omap_gpio_init(SysBusDevice *sbd)
return 0;
}
-static int omap2_gpio_init(SysBusDevice *dev)
+static int omap2_gpio_init(SysBusDevice *sbd)
{
+ DeviceState *dev = DEVICE(sbd);
+ struct omap2_gpif_s *s = OMAP2_GPIO(dev);
int i;
- struct omap2_gpif_s *s = FROM_SYSBUS(struct omap2_gpif_s, dev);
+
if (!s->iclk) {
hw_error("omap2-gpio: iclk not connected\n");
}
@@ -701,14 +708,14 @@ static int omap2_gpio_init(SysBusDevice *dev)
s->modulecount = (s->mpu_model < omap2430) ? 4 : 5;
memory_region_init_io(&s->iomem, OBJECT(s), &omap2_gpif_top_ops, s,
"omap2.gpio", 0x1000);
- sysbus_init_mmio(dev, &s->iomem);
+ sysbus_init_mmio(sbd, &s->iomem);
} else {
s->modulecount = 6;
}
s->modules = g_malloc0(s->modulecount * sizeof(struct omap2_gpio_s));
s->handler = g_malloc0(s->modulecount * 32 * sizeof(qemu_irq));
- qdev_init_gpio_in(&dev->qdev, omap2_gpio_set, s->modulecount * 32);
- qdev_init_gpio_out(&dev->qdev, s->handler, s->modulecount * 32);
+ qdev_init_gpio_in(dev, omap2_gpio_set, s->modulecount * 32);
+ qdev_init_gpio_out(dev, s->handler, s->modulecount * 32);
for (i = 0; i < s->modulecount; i++) {
struct omap2_gpio_s *m = &s->modules[i];
if (!s->fclk[i]) {
@@ -716,12 +723,12 @@ static int omap2_gpio_init(SysBusDevice *dev)
}
m->revision = (s->mpu_model < omap3430) ? 0x18 : 0x25;
m->handler = &s->handler[i * 32];
- sysbus_init_irq(dev, &m->irq[0]); /* mpu irq */
- sysbus_init_irq(dev, &m->irq[1]); /* dsp irq */
- sysbus_init_irq(dev, &m->wkup);
+ sysbus_init_irq(sbd, &m->irq[0]); /* mpu irq */
+ sysbus_init_irq(sbd, &m->irq[1]); /* dsp irq */
+ sysbus_init_irq(sbd, &m->wkup);
memory_region_init_io(&m->iomem, OBJECT(s), &omap2_gpio_module_ops, m,
"omap.gpio-module", 0x1000);
- sysbus_init_mmio(dev, &m->iomem);
+ sysbus_init_mmio(sbd, &m->iomem);
}
return 0;
}
@@ -784,7 +791,7 @@ static void omap2_gpio_class_init(ObjectClass *klass, void
*data)
}
static const TypeInfo omap2_gpio_info = {
- .name = "omap2-gpio",
+ .name = TYPE_OMAP2_GPIO,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(struct omap2_gpif_s),
.class_init = omap2_gpio_class_init,
--
1.8.1.4
- [Qemu-devel] [PULL 070/173] pl011: Rename pl011_state, (continued)
- [Qemu-devel] [PULL 070/173] pl011: Rename pl011_state, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 069/173] milkymist-uart: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 071/173] pl011: QOM'ify pl011 and pl011_luminary, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 072/173] empty_slot: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 073/173] pl080: Rename pl080_state to PL080State, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 074/173] pl080: QOM'ify pl080 and pl081, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 075/173] puv3_dma: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 076/173] pxa2xx_dma: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 077/173] sparc32_dma: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 079/173] omap_gpio: QOM cast cleanup for omap_gpif_s, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 080/173] omap_gpio: QOM cast cleanup for omap2_gpif_s,
Andreas Färber <=
- [Qemu-devel] [PULL 078/173] sun4m_iommu: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 081/173] pl061: Rename pl061_state to PL061State, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 083/173] puv3_gpio: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 085/173] bitbang_i2c: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 082/173] pl061: QOM'ify pl061 and pl061_luminary, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 086/173] omap_i2c: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 084/173] gpio/zaurus: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 087/173] versatile_i2c: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 088/173] milkymist-softusb: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 090/173] pl050: QOM'ify pl050_keyboard and pl050_mouse, Andreas Färber, 2013/07/29