mirror of https://gitee.com/openkylin/qemu.git
hw/arm: QOM'ify spitz.c
Drop the use of old SysBus init function and use instance_init Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
08ba3fde1d
commit
f68575c956
|
@ -164,9 +164,10 @@ static void sl_flash_register(PXA2xxState *cpu, int size)
|
|||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, FLASH_BASE);
|
||||
}
|
||||
|
||||
static int sl_nand_init(SysBusDevice *dev)
|
||||
static void sl_nand_init(Object *obj)
|
||||
{
|
||||
SLNANDState *s = SL_NAND(dev);
|
||||
SLNANDState *s = SL_NAND(obj);
|
||||
SysBusDevice *dev = SYS_BUS_DEVICE(obj);
|
||||
DriveInfo *nand;
|
||||
|
||||
s->ctl = 0;
|
||||
|
@ -175,10 +176,8 @@ static int sl_nand_init(SysBusDevice *dev)
|
|||
s->nand = nand_init(nand ? blk_by_legacy_dinfo(nand) : NULL,
|
||||
s->manf_id, s->chip_id);
|
||||
|
||||
memory_region_init_io(&s->iomem, OBJECT(s), &sl_ops, s, "sl", 0x40);
|
||||
memory_region_init_io(&s->iomem, obj, &sl_ops, s, "sl", 0x40);
|
||||
sysbus_init_mmio(dev, &s->iomem);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Spitz Keyboard */
|
||||
|
@ -501,10 +500,10 @@ static void spitz_keyboard_register(PXA2xxState *cpu)
|
|||
qemu_add_kbd_event_handler(spitz_keyboard_handler, s);
|
||||
}
|
||||
|
||||
static int spitz_keyboard_init(SysBusDevice *sbd)
|
||||
static void spitz_keyboard_init(Object *obj)
|
||||
{
|
||||
DeviceState *dev = DEVICE(sbd);
|
||||
SpitzKeyboardState *s = SPITZ_KEYBOARD(dev);
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
SpitzKeyboardState *s = SPITZ_KEYBOARD(obj);
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < 0x80; i ++)
|
||||
|
@ -519,8 +518,6 @@ static int spitz_keyboard_init(SysBusDevice *sbd)
|
|||
s->kbdtimer = timer_new_ns(QEMU_CLOCK_VIRTUAL, spitz_keyboard_tick, s);
|
||||
qdev_init_gpio_in(dev, spitz_keyboard_strobe, SPITZ_KEY_STROBE_NUM);
|
||||
qdev_init_gpio_out(dev, s->sense, SPITZ_KEY_SENSE_NUM);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* LCD backlight controller */
|
||||
|
@ -1065,9 +1062,7 @@ static Property sl_nand_properties[] = {
|
|||
static void sl_nand_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
|
||||
|
||||
k->init = sl_nand_init;
|
||||
dc->vmsd = &vmstate_sl_nand_info;
|
||||
dc->props = sl_nand_properties;
|
||||
/* Reason: init() method uses drive_get() */
|
||||
|
@ -1078,6 +1073,7 @@ static const TypeInfo sl_nand_info = {
|
|||
.name = TYPE_SL_NAND,
|
||||
.parent = TYPE_SYS_BUS_DEVICE,
|
||||
.instance_size = sizeof(SLNANDState),
|
||||
.instance_init = sl_nand_init,
|
||||
.class_init = sl_nand_class_init,
|
||||
};
|
||||
|
||||
|
@ -1097,9 +1093,7 @@ static VMStateDescription vmstate_spitz_kbd = {
|
|||
static void spitz_keyboard_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
|
||||
|
||||
k->init = spitz_keyboard_init;
|
||||
dc->vmsd = &vmstate_spitz_kbd;
|
||||
}
|
||||
|
||||
|
@ -1107,6 +1101,7 @@ static const TypeInfo spitz_keyboard_info = {
|
|||
.name = TYPE_SPITZ_KEYBOARD,
|
||||
.parent = TYPE_SYS_BUS_DEVICE,
|
||||
.instance_size = sizeof(SpitzKeyboardState),
|
||||
.instance_init = spitz_keyboard_init,
|
||||
.class_init = spitz_keyboard_class_init,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue