musicpal: QOM cast cleanup for musicpal_gpio_state

Introduce a type constant, use QOM casts, rename the parent field and
prepare for QOM realize.

Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
Andreas Färber 2013-07-24 01:36:24 +02:00
parent 5952b01cf8
commit 7012d4b46b
1 changed files with 19 additions and 11 deletions

View File

@ -1183,8 +1183,15 @@ static int mv88w8618_wlan_init(SysBusDevice *dev)
/* LCD brightness bits in GPIO_OE_HI */ /* LCD brightness bits in GPIO_OE_HI */
#define MP_OE_LCD_BRIGHTNESS 0x0007 #define MP_OE_LCD_BRIGHTNESS 0x0007
#define TYPE_MUSICPAL_GPIO "musicpal_gpio"
#define MUSICPAL_GPIO(obj) \
OBJECT_CHECK(musicpal_gpio_state, (obj), TYPE_MUSICPAL_GPIO)
typedef struct musicpal_gpio_state { typedef struct musicpal_gpio_state {
SysBusDevice busdev; /*< private >*/
SysBusDevice parent_obj;
/*< public >*/
MemoryRegion iomem; MemoryRegion iomem;
uint32_t lcd_brightness; uint32_t lcd_brightness;
uint32_t out_state; uint32_t out_state;
@ -1344,8 +1351,7 @@ static const MemoryRegionOps musicpal_gpio_ops = {
static void musicpal_gpio_reset(DeviceState *d) static void musicpal_gpio_reset(DeviceState *d)
{ {
musicpal_gpio_state *s = FROM_SYSBUS(musicpal_gpio_state, musicpal_gpio_state *s = MUSICPAL_GPIO(d);
SYS_BUS_DEVICE(d));
s->lcd_brightness = 0; s->lcd_brightness = 0;
s->out_state = 0; s->out_state = 0;
@ -1355,19 +1361,20 @@ static void musicpal_gpio_reset(DeviceState *d)
s->isr = 0; s->isr = 0;
} }
static int musicpal_gpio_init(SysBusDevice *dev) static int musicpal_gpio_init(SysBusDevice *sbd)
{ {
musicpal_gpio_state *s = FROM_SYSBUS(musicpal_gpio_state, dev); DeviceState *dev = DEVICE(sbd);
musicpal_gpio_state *s = MUSICPAL_GPIO(dev);
sysbus_init_irq(dev, &s->irq); sysbus_init_irq(sbd, &s->irq);
memory_region_init_io(&s->iomem, OBJECT(s), &musicpal_gpio_ops, s, memory_region_init_io(&s->iomem, OBJECT(s), &musicpal_gpio_ops, s,
"musicpal-gpio", MP_GPIO_SIZE); "musicpal-gpio", MP_GPIO_SIZE);
sysbus_init_mmio(dev, &s->iomem); sysbus_init_mmio(sbd, &s->iomem);
qdev_init_gpio_out(&dev->qdev, s->out, ARRAY_SIZE(s->out)); qdev_init_gpio_out(dev, s->out, ARRAY_SIZE(s->out));
qdev_init_gpio_in(&dev->qdev, musicpal_gpio_pin_event, 32); qdev_init_gpio_in(dev, musicpal_gpio_pin_event, 32);
return 0; return 0;
} }
@ -1399,7 +1406,7 @@ static void musicpal_gpio_class_init(ObjectClass *klass, void *data)
} }
static const TypeInfo musicpal_gpio_info = { static const TypeInfo musicpal_gpio_info = {
.name = "musicpal_gpio", .name = TYPE_MUSICPAL_GPIO,
.parent = TYPE_SYS_BUS_DEVICE, .parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(musicpal_gpio_state), .instance_size = sizeof(musicpal_gpio_state),
.class_init = musicpal_gpio_class_init, .class_init = musicpal_gpio_class_init,
@ -1671,7 +1678,8 @@ static void musicpal_init(QEMUMachineInitArgs *args)
sysbus_create_simple(TYPE_MUSICPAL_MISC, MP_MISC_BASE, NULL); sysbus_create_simple(TYPE_MUSICPAL_MISC, MP_MISC_BASE, NULL);
dev = sysbus_create_simple("musicpal_gpio", MP_GPIO_BASE, pic[MP_GPIO_IRQ]); dev = sysbus_create_simple(TYPE_MUSICPAL_GPIO, MP_GPIO_BASE,
pic[MP_GPIO_IRQ]);
i2c_dev = sysbus_create_simple("gpio_i2c", -1, NULL); i2c_dev = sysbus_create_simple("gpio_i2c", -1, NULL);
i2c = (i2c_bus *)qdev_get_child_bus(i2c_dev, "i2c"); i2c = (i2c_bus *)qdev_get_child_bus(i2c_dev, "i2c");