cs4231: QOM cast cleanup
Introduce a type constant, use QOM casts and rename the parent field. Reviewed-by: Hu Tao <hutao@cn.fujitsu.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
24bf6c1f2a
commit
f9e7419039
@ -33,8 +33,13 @@
|
|||||||
#define CS_DREGS 32
|
#define CS_DREGS 32
|
||||||
#define CS_MAXDREG (CS_DREGS - 1)
|
#define CS_MAXDREG (CS_DREGS - 1)
|
||||||
|
|
||||||
|
#define TYPE_CS4231 "SUNW,CS4231"
|
||||||
|
#define CS4231(obj) \
|
||||||
|
OBJECT_CHECK(CSState, (obj), TYPE_CS4231)
|
||||||
|
|
||||||
typedef struct CSState {
|
typedef struct CSState {
|
||||||
SysBusDevice busdev;
|
SysBusDevice parent_obj;
|
||||||
|
|
||||||
MemoryRegion iomem;
|
MemoryRegion iomem;
|
||||||
qemu_irq irq;
|
qemu_irq irq;
|
||||||
uint32_t regs[CS_REGS];
|
uint32_t regs[CS_REGS];
|
||||||
@ -47,7 +52,7 @@ typedef struct CSState {
|
|||||||
|
|
||||||
static void cs_reset(DeviceState *d)
|
static void cs_reset(DeviceState *d)
|
||||||
{
|
{
|
||||||
CSState *s = container_of(d, CSState, busdev.qdev);
|
CSState *s = CS4231(d);
|
||||||
|
|
||||||
memset(s->regs, 0, CS_REGS * 4);
|
memset(s->regs, 0, CS_REGS * 4);
|
||||||
memset(s->dregs, 0, CS_DREGS);
|
memset(s->dregs, 0, CS_DREGS);
|
||||||
@ -111,7 +116,7 @@ static void cs_mem_write(void *opaque, hwaddr addr,
|
|||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (val & 1) {
|
if (val & 1) {
|
||||||
cs_reset(&s->busdev.qdev);
|
cs_reset(DEVICE(s));
|
||||||
}
|
}
|
||||||
val &= 0x7f;
|
val &= 0x7f;
|
||||||
s->regs[saddr] = val;
|
s->regs[saddr] = val;
|
||||||
@ -142,7 +147,7 @@ static const VMStateDescription vmstate_cs4231 = {
|
|||||||
|
|
||||||
static int cs4231_init1(SysBusDevice *dev)
|
static int cs4231_init1(SysBusDevice *dev)
|
||||||
{
|
{
|
||||||
CSState *s = FROM_SYSBUS(CSState, dev);
|
CSState *s = CS4231(dev);
|
||||||
|
|
||||||
memory_region_init_io(&s->iomem, OBJECT(s), &cs_mem_ops, s, "cs4321",
|
memory_region_init_io(&s->iomem, OBJECT(s), &cs_mem_ops, s, "cs4321",
|
||||||
CS_SIZE);
|
CS_SIZE);
|
||||||
@ -168,7 +173,7 @@ static void cs4231_class_init(ObjectClass *klass, void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo cs4231_info = {
|
static const TypeInfo cs4231_info = {
|
||||||
.name = "SUNW,CS4231",
|
.name = TYPE_CS4231,
|
||||||
.parent = TYPE_SYS_BUS_DEVICE,
|
.parent = TYPE_SYS_BUS_DEVICE,
|
||||||
.instance_size = sizeof(CSState),
|
.instance_size = sizeof(CSState),
|
||||||
.class_init = cs4231_class_init,
|
.class_init = cs4231_class_init,
|
||||||
|
Loading…
Reference in New Issue
Block a user