[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 021/173] onenand: QOM cast cleanup
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 021/173] onenand: QOM cast cleanup |
Date: |
Mon, 29 Jul 2013 21:17:58 +0200 |
Introduce a type constant, use QOM casts and rename the parent field and
prepare for QOM realize.
Reviewed-by: Hu Tao <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
hw/block/onenand.c | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
diff --git a/hw/block/onenand.c b/hw/block/onenand.c
index 2776f64..aae9ee7 100644
--- a/hw/block/onenand.c
+++ b/hw/block/onenand.c
@@ -34,8 +34,12 @@
/* Fixed */
#define BLOCK_SHIFT (PAGE_SHIFT + 6)
-typedef struct {
- SysBusDevice busdev;
+#define TYPE_ONE_NAND "onenand"
+#define ONE_NAND(obj) OBJECT_CHECK(OneNANDState, (obj), TYPE_ONE_NAND)
+
+typedef struct OneNANDState {
+ SysBusDevice parent_obj;
+
struct {
uint16_t man;
uint16_t dev;
@@ -226,7 +230,9 @@ static void onenand_reset(OneNANDState *s, int cold)
static void onenand_system_reset(DeviceState *dev)
{
- onenand_reset(FROM_SYSBUS(OneNANDState, SYS_BUS_DEVICE(dev)), 1);
+ OneNANDState *s = ONE_NAND(dev);
+
+ onenand_reset(s, 1);
}
static inline int onenand_load_main(OneNANDState *s, int sec, int secn,
@@ -757,11 +763,13 @@ static const MemoryRegionOps onenand_ops = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
-static int onenand_initfn(SysBusDevice *dev)
+static int onenand_initfn(SysBusDevice *sbd)
{
- OneNANDState *s = (OneNANDState *)dev;
+ DeviceState *dev = DEVICE(sbd);
+ OneNANDState *s = ONE_NAND(dev);
uint32_t size = 1 << (24 + ((s->id.dev >> 4) & 7));
void *ram;
+
s->base = (hwaddr)-1;
s->rdy = NULL;
s->blocks = size >> BLOCK_SHIFT;
@@ -794,9 +802,9 @@ static int onenand_initfn(SysBusDevice *dev)
s->data[1][0] = ram + ((0x0200 + (1 << (PAGE_SHIFT - 1))) << s->shift);
s->data[1][1] = ram + ((0x8010 + (1 << (PAGE_SHIFT - 6))) << s->shift);
onenand_mem_setup(s);
- sysbus_init_irq(dev, &s->intr);
- sysbus_init_mmio(dev, &s->container);
- vmstate_register(&dev->qdev,
+ sysbus_init_irq(sbd, &s->intr);
+ sysbus_init_mmio(sbd, &s->container);
+ vmstate_register(dev,
((s->shift & 0x7f) << 24)
| ((s->id.man & 0xff) << 16)
| ((s->id.dev & 0xff) << 8)
@@ -825,7 +833,7 @@ static void onenand_class_init(ObjectClass *klass, void
*data)
}
static const TypeInfo onenand_info = {
- .name = "onenand",
+ .name = TYPE_ONE_NAND,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(OneNANDState),
.class_init = onenand_class_init,
@@ -838,7 +846,9 @@ static void onenand_register_types(void)
void *onenand_raw_otp(DeviceState *onenand_device)
{
- return FROM_SYSBUS(OneNANDState, SYS_BUS_DEVICE(onenand_device))->otp;
+ OneNANDState *s = ONE_NAND(onenand_device);
+
+ return s->otp;
}
type_init(onenand_register_types)
--
1.8.1.4
- [Qemu-devel] [PULL 011/173] pci-bridge/i82801b11: Rename parent field, (continued)
- [Qemu-devel] [PULL 011/173] pci-bridge/i82801b11: Rename parent field, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 012/173] pcie_port: Turn PCIEPort and PCIESlot into abstract QOM types, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 013/173] etraxfs_ser: QOM cast cleanups, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 016/173] cs4231: QOM cast cleanup, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 014/173] xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLite, Andreas Färber, 2013/07/29
- [Qemu-devel] [PULL 015/173] xilinx_uartlite: QOM cast cleanups, Andreas Färber, 2013/07/29
- [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 <=
- [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, 2013/07/29
- [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