[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 36/55] pflash-cfi02: QOM'ify some more
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 36/55] pflash-cfi02: QOM'ify some more |
Date: |
Tue, 23 Jul 2013 01:46:17 +0200 |
From: Hu Tao <address@hidden>
Introduce type constant and replace FROM_SYSBUS().
Signed-off-by: Hu Tao <address@hidden>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <address@hidden>
---
hw/block/pflash_cfi02.c | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/hw/block/pflash_cfi02.c b/hw/block/pflash_cfi02.c
index d6cd3da..d8381dd 100644
--- a/hw/block/pflash_cfi02.c
+++ b/hw/block/pflash_cfi02.c
@@ -55,8 +55,14 @@ do { \
#define PFLASH_LAZY_ROMD_THRESHOLD 42
+#define TYPE_CFI_PFLASH02 "cfi.pflash02"
+#define CFI_PFLASH02(obj) OBJECT_CHECK(pflash_t, (obj), TYPE_CFI_PFLASH02)
+
struct pflash_t {
- SysBusDevice busdev;
+ /*< private >*/
+ SysBusDevice parent_obj;
+ /*< public >*/
+
BlockDriverState *bs;
uint32_t sector_len;
uint32_t nb_blocs;
@@ -588,7 +594,7 @@ static const MemoryRegionOps pflash_cfi02_ops_le = {
static int pflash_cfi02_init(SysBusDevice *dev)
{
- pflash_t *pfl = FROM_SYSBUS(typeof(*pfl), dev);
+ pflash_t *pfl = CFI_PFLASH02(dev);
uint32_t chip_len;
int ret;
@@ -737,7 +743,7 @@ static void pflash_cfi02_class_init(ObjectClass *klass,
void *data)
}
static const TypeInfo pflash_cfi02_info = {
- .name = "cfi.pflash02",
+ .name = TYPE_CFI_PFLASH02,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(struct pflash_t),
.class_init = pflash_cfi02_class_init,
@@ -760,10 +766,7 @@ pflash_t *pflash_cfi02_register(hwaddr base,
uint16_t unlock_addr0, uint16_t unlock_addr1,
int be)
{
- DeviceState *dev = qdev_create(NULL, "cfi.pflash02");
- SysBusDevice *busdev = SYS_BUS_DEVICE(dev);
- pflash_t *pfl = (pflash_t *)object_dynamic_cast(OBJECT(dev),
- "cfi.pflash02");
+ DeviceState *dev = qdev_create(NULL, TYPE_CFI_PFLASH02);
if (bs && qdev_prop_set_drive(dev, "drive", bs)) {
abort();
@@ -782,6 +785,6 @@ pflash_t *pflash_cfi02_register(hwaddr base,
qdev_prop_set_string(dev, "name", name);
qdev_init_nofail(dev);
- sysbus_mmio_map(busdev, 0, base);
- return pfl;
+ sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
+ return CFI_PFLASH02(dev);
}
--
1.8.1.4
- [Qemu-devel] [PULL 27/55] sysbus: Document SysBusDeviceClass::init and realize semantics, (continued)
- [Qemu-devel] [PULL 27/55] sysbus: Document SysBusDeviceClass::init and realize semantics, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 24/55] misc/ivshmem: QOM parent field cleanup, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 29/55] ohci: Use QOM realize for OHCI, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 28/55] ohci: QOM'ify some more, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 31/55] i440fx-pcihost: Use QOM realize for i440fx-pcihost, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 33/55] q35: Use QOM realize for q35 host bridge, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 30/55] i440fx: Use type-safe cast instead of direct access of parent dev, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 35/55] pflash-cfi01: QOM'ify some more, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 34/55] fdc: QOM'ify some more, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 32/55] q35: Use type-safe cast instead of direct access of parent dev, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 36/55] pflash-cfi02: QOM'ify some more,
Andreas Färber <=
- [Qemu-devel] [PULL 38/55] fwcfg: QOM'ify some more, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 37/55] ahci: QOM'ify some more, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 39/55] scsi/esp: QOM'ify some more, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 41/55] kvm/clock: QOM'ify some more, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 40/55] hpet: QOM'ify some more, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 44/55] pflash_cfi01: Use QOM realize for pflash_cfi01, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 45/55] pflash_cfi02: Use QOM realize for pflash_cfi02, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 42/55] fdc: Use QOM realize for fdc, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 43/55] fdc: Improve error propagation for QOM realize, Andreas Färber, 2013/07/22
- [Qemu-devel] [PULL 46/55] ahci: Use QOM realize for ahci, Andreas Färber, 2013/07/22