[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 38/55] fwcfg: QOM'ify some more
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 38/55] fwcfg: QOM'ify some more |
Date: |
Tue, 23 Jul 2013 01:46:19 +0200 |
From: Hu Tao <address@hidden>
Use type constant if possible and avoid DO_UPCAST().
Signed-off-by: Hu Tao <address@hidden>
[AF: Renamed parent field]
Signed-off-by: Andreas Färber <address@hidden>
---
hw/nvram/fw_cfg.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index e455282..8e39111 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -35,6 +35,7 @@
#define TYPE_FW_CFG "fw_cfg"
#define FW_CFG_NAME "fw_cfg"
#define FW_CFG_PATH "/machine/" FW_CFG_NAME
+#define FW_CFG(obj) OBJECT_CHECK(FWCfgState, (obj), TYPE_FW_CFG)
typedef struct FWCfgEntry {
uint32_t len;
@@ -44,7 +45,10 @@ typedef struct FWCfgEntry {
} FWCfgEntry;
struct FWCfgState {
- SysBusDevice busdev;
+ /*< private >*/
+ SysBusDevice parent_obj;
+ /*< public >*/
+
MemoryRegion ctl_iomem, data_iomem, comb_iomem;
uint32_t ctl_iobase, data_iobase;
FWCfgEntry entries[2][FW_CFG_MAX_ENTRY];
@@ -326,7 +330,7 @@ static const MemoryRegionOps fw_cfg_comb_mem_ops = {
static void fw_cfg_reset(DeviceState *d)
{
- FWCfgState *s = DO_UPCAST(FWCfgState, busdev.qdev, d);
+ FWCfgState *s = FW_CFG(d);
fw_cfg_select(s, 0);
}
@@ -489,12 +493,12 @@ FWCfgState *fw_cfg_init(uint32_t ctl_port, uint32_t
data_port,
SysBusDevice *d;
FWCfgState *s;
- dev = qdev_create(NULL, "fw_cfg");
+ dev = qdev_create(NULL, TYPE_FW_CFG);
qdev_prop_set_uint32(dev, "ctl_iobase", ctl_port);
qdev_prop_set_uint32(dev, "data_iobase", data_port);
d = SYS_BUS_DEVICE(dev);
- s = DO_UPCAST(FWCfgState, busdev.qdev, dev);
+ s = FW_CFG(dev);
assert(!object_resolve_path(FW_CFG_PATH, NULL));
@@ -524,7 +528,7 @@ FWCfgState *fw_cfg_init(uint32_t ctl_port, uint32_t
data_port,
static int fw_cfg_init1(SysBusDevice *dev)
{
- FWCfgState *s = FROM_SYSBUS(FWCfgState, dev);
+ FWCfgState *s = FW_CFG(dev);
memory_region_init_io(&s->ctl_iomem, OBJECT(s), &fw_cfg_ctl_mem_ops, s,
"fwcfg.ctl", FW_CFG_SIZE);
@@ -557,8 +561,7 @@ static Property fw_cfg_properties[] = {
FWCfgState *fw_cfg_find(void)
{
- return OBJECT_CHECK(FWCfgState, object_resolve_path(FW_CFG_PATH, NULL),
- TYPE_FW_CFG);
+ return FW_CFG(object_resolve_path(FW_CFG_PATH, NULL));
}
static void fw_cfg_class_init(ObjectClass *klass, void *data)
--
1.8.1.4
- [Qemu-devel] [PULL 24/55] misc/ivshmem: QOM parent field cleanup, (continued)
- [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, 2013/07/22
- [Qemu-devel] [PULL 38/55] fwcfg: QOM'ify some more,
Andreas Färber <=
- [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
- [Qemu-devel] [PULL 48/55] scsi/esp: Use QOM realize for scsi esp, Andreas Färber, 2013/07/22