grlib_irqmp: QOM cast cleanup

Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
Andreas Färber 2013-07-26 19:26:18 +02:00
parent c5e22ae346
commit 730bf9323d
1 changed files with 10 additions and 23 deletions

View File

@ -45,10 +45,14 @@
#define FORCE_OFFSET 0x80 #define FORCE_OFFSET 0x80
#define EXTENDED_OFFSET 0xC0 #define EXTENDED_OFFSET 0xC0
#define TYPE_GRLIB_IRQMP "grlib,irqmp"
#define GRLIB_IRQMP(obj) OBJECT_CHECK(IRQMP, (obj), TYPE_GRLIB_IRQMP)
typedef struct IRQMPState IRQMPState; typedef struct IRQMPState IRQMPState;
typedef struct IRQMP { typedef struct IRQMP {
SysBusDevice busdev; SysBusDevice parent_obj;
MemoryRegion iomem; MemoryRegion iomem;
void *set_pil_in; void *set_pil_in;
@ -102,19 +106,10 @@ static void grlib_irqmp_check_irqs(IRQMPState *state)
void grlib_irqmp_ack(DeviceState *dev, int intno) void grlib_irqmp_ack(DeviceState *dev, int intno)
{ {
SysBusDevice *sdev; IRQMP *irqmp = GRLIB_IRQMP(dev);
IRQMP *irqmp;
IRQMPState *state; IRQMPState *state;
uint32_t mask; uint32_t mask;
assert(dev != NULL);
sdev = SYS_BUS_DEVICE(dev);
assert(sdev != NULL);
irqmp = FROM_SYSBUS(typeof(*irqmp), sdev);
assert(irqmp != NULL);
state = irqmp->state; state = irqmp->state;
assert(state != NULL); assert(state != NULL);
@ -132,15 +127,10 @@ void grlib_irqmp_ack(DeviceState *dev, int intno)
void grlib_irqmp_set_irq(void *opaque, int irq, int level) void grlib_irqmp_set_irq(void *opaque, int irq, int level)
{ {
IRQMP *irqmp; IRQMP *irqmp = GRLIB_IRQMP(opaque);
IRQMPState *s; IRQMPState *s;
int i = 0; int i = 0;
assert(opaque != NULL);
irqmp = FROM_SYSBUS(typeof(*irqmp), SYS_BUS_DEVICE(opaque));
assert(irqmp != NULL);
s = irqmp->state; s = irqmp->state;
assert(s != NULL); assert(s != NULL);
assert(s->parent != NULL); assert(s->parent != NULL);
@ -325,8 +315,7 @@ static const MemoryRegionOps grlib_irqmp_ops = {
static void grlib_irqmp_reset(DeviceState *d) static void grlib_irqmp_reset(DeviceState *d)
{ {
IRQMP *irqmp = container_of(d, IRQMP, busdev.qdev); IRQMP *irqmp = GRLIB_IRQMP(d);
assert(irqmp != NULL);
assert(irqmp->state != NULL); assert(irqmp->state != NULL);
memset(irqmp->state, 0, sizeof *irqmp->state); memset(irqmp->state, 0, sizeof *irqmp->state);
@ -335,9 +324,7 @@ static void grlib_irqmp_reset(DeviceState *d)
static int grlib_irqmp_init(SysBusDevice *dev) static int grlib_irqmp_init(SysBusDevice *dev)
{ {
IRQMP *irqmp = FROM_SYSBUS(typeof(*irqmp), dev); IRQMP *irqmp = GRLIB_IRQMP(dev);
assert(irqmp != NULL);
/* Check parameters */ /* Check parameters */
if (irqmp->set_pil_in == NULL) { if (irqmp->set_pil_in == NULL) {
@ -371,7 +358,7 @@ static void grlib_irqmp_class_init(ObjectClass *klass, void *data)
} }
static const TypeInfo grlib_irqmp_info = { static const TypeInfo grlib_irqmp_info = {
.name = "grlib,irqmp", .name = TYPE_GRLIB_IRQMP,
.parent = TYPE_SYS_BUS_DEVICE, .parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(IRQMP), .instance_size = sizeof(IRQMP),
.class_init = grlib_irqmp_class_init, .class_init = grlib_irqmp_class_init,