ppce500_spin: QOM cast cleanup

Introduce type constant and use QOM cast.

Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
Andreas Färber 2013-07-27 13:03:07 +02:00
parent 8c1892cf72
commit 880fc798fd
1 changed files with 8 additions and 6 deletions

View File

@ -42,8 +42,12 @@ typedef struct spin_info {
uint64_t reserved; uint64_t reserved;
} QEMU_PACKED SpinInfo; } QEMU_PACKED SpinInfo;
typedef struct spin_state { #define TYPE_E500_SPIN "e500-spin"
SysBusDevice busdev; #define E500_SPIN(obj) OBJECT_CHECK(SpinState, (obj), TYPE_E500_SPIN)
typedef struct SpinState {
SysBusDevice parent_obj;
MemoryRegion iomem; MemoryRegion iomem;
SpinInfo spin[MAX_CPUS]; SpinInfo spin[MAX_CPUS];
} SpinState; } SpinState;
@ -187,9 +191,7 @@ static const MemoryRegionOps spin_rw_ops = {
static int ppce500_spin_initfn(SysBusDevice *dev) static int ppce500_spin_initfn(SysBusDevice *dev)
{ {
SpinState *s; SpinState *s = E500_SPIN(dev);
s = FROM_SYSBUS(SpinState, SYS_BUS_DEVICE(dev));
memory_region_init_io(&s->iomem, OBJECT(s), &spin_rw_ops, s, memory_region_init_io(&s->iomem, OBJECT(s), &spin_rw_ops, s,
"e500 spin pv device", sizeof(SpinInfo) * MAX_CPUS); "e500 spin pv device", sizeof(SpinInfo) * MAX_CPUS);
@ -208,7 +210,7 @@ static void ppce500_spin_class_init(ObjectClass *klass, void *data)
} }
static const TypeInfo ppce500_spin_info = { static const TypeInfo ppce500_spin_info = {
.name = "e500-spin", .name = TYPE_E500_SPIN,
.parent = TYPE_SYS_BUS_DEVICE, .parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(SpinState), .instance_size = sizeof(SpinState),
.class_init = ppce500_spin_class_init, .class_init = ppce500_spin_class_init,