On 23/11/18 16:30, Mao Zhongyi wrote:
> Use DeviceClass rather than SysBusDeviceClass in
> milkymist_softusb_class_init().
>
> Cc: michael@walle.cc
>
> Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
> Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> hw/input/milkymist-softusb.c | 16 +++++++---------
> 1 file changed, 7 insertions(+), 9 deletions(-)
>
> diff --git a/hw/input/milkymist-softusb.c b/hw/input/milkymist-softusb.c
> index ef8f47cd83..8766a17d9e 100644
> --- a/hw/input/milkymist-softusb.c
> +++ b/hw/input/milkymist-softusb.c
> @@ -245,32 +245,31 @@ static void milkymist_softusb_reset(DeviceState *d)
> s->regs[R_CTRL] = CTRL_RESET;
> }
>
> -static int milkymist_softusb_init(SysBusDevice *dev)
> +static void milkymist_softusb_realize(DeviceState *dev, Error **errp)
> {
> MilkymistSoftUsbState *s = MILKYMIST_SOFTUSB(dev);
> + SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
>
> - sysbus_init_irq(dev, &s->irq);
> + sysbus_init_irq(sbd, &s->irq);
>
> memory_region_init_io(&s->regs_region, OBJECT(s), &softusb_mmio_ops, s,
> "milkymist-softusb", R_MAX * 4);
> - sysbus_init_mmio(dev, &s->regs_region);
> + sysbus_init_mmio(sbd, &s->regs_region);
>
> /* register pmem and dmem */
> memory_region_init_ram_nomigrate(&s->pmem, OBJECT(s), "milkymist-softusb.pmem",
> s->pmem_size, &error_fatal);
> vmstate_register_ram_global(&s->pmem);
> s->pmem_ptr = memory_region_get_ram_ptr(&s->pmem);
> - sysbus_init_mmio(dev, &s->pmem);
> + sysbus_init_mmio(sbd, &s->pmem);
> memory_region_init_ram_nomigrate(&s->dmem, OBJECT(s), "milkymist-softusb.dmem",
> s->dmem_size, &error_fatal);
> vmstate_register_ram_global(&s->dmem);
> s->dmem_ptr = memory_region_get_ram_ptr(&s->dmem);
> - sysbus_init_mmio(dev, &s->dmem);
> + sysbus_init_mmio(sbd, &s->dmem);
>
> hid_init(&s->hid_kbd, HID_KEYBOARD, softusb_kbd_hid_datain);
> hid_init(&s->hid_mouse, HID_MOUSE, softusb_mouse_hid_datain);
> -
> - return 0;
> }
>
> static const VMStateDescription vmstate_milkymist_softusb = {
> @@ -296,9 +295,8 @@ static Property milkymist_softusb_properties[] = {
> static void milkymist_softusb_class_init(ObjectClass *klass, void *data)
> {
> DeviceClass *dc = DEVICE_CLASS(klass);
> - SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
>
> - k->init = milkymist_softusb_init;
> + dc->realize = milkymist_softusb_realize;
> dc->reset = milkymist_softusb_reset;
> dc->vmsd = &vmstate_milkymist_softusb;
> dc->props = milkymist_softusb_properties;
>