Re: [Qemu-devel] [PATCH v2 08/21] milkymist-softusb: Convert sysbus init function to realize function
On 23/11/18 16:30, Mao Zhongyi wrote: > Use DeviceClass rather than SysBusDeviceClass in > milkymist_softusb_class_init(). > > Cc: mich...@walle.cc > > Signed-off-by: Mao Zhongyi > Signed-off-by: Zhang Shengju Reviewed-by: Philippe Mathieu-Daudé > --- > 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, >irq); > +sysbus_init_irq(sbd, >irq); > > memory_region_init_io(>regs_region, OBJECT(s), _mmio_ops, s, >"milkymist-softusb", R_MAX * 4); > -sysbus_init_mmio(dev, >regs_region); > +sysbus_init_mmio(sbd, >regs_region); > > /* register pmem and dmem */ > memory_region_init_ram_nomigrate(>pmem, OBJECT(s), > "milkymist-softusb.pmem", > s->pmem_size, _fatal); > vmstate_register_ram_global(>pmem); > s->pmem_ptr = memory_region_get_ram_ptr(>pmem); > -sysbus_init_mmio(dev, >pmem); > +sysbus_init_mmio(sbd, >pmem); > memory_region_init_ram_nomigrate(>dmem, OBJECT(s), > "milkymist-softusb.dmem", > s->dmem_size, _fatal); > vmstate_register_ram_global(>dmem); > s->dmem_ptr = memory_region_get_ram_ptr(>dmem); > -sysbus_init_mmio(dev, >dmem); > +sysbus_init_mmio(sbd, >dmem); > > hid_init(>hid_kbd, HID_KEYBOARD, softusb_kbd_hid_datain); > hid_init(>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 = _milkymist_softusb; > dc->props = milkymist_softusb_properties; >
[Qemu-devel] [PATCH v2 08/21] milkymist-softusb: Convert sysbus init function to realize function
Use DeviceClass rather than SysBusDeviceClass in milkymist_softusb_class_init(). Cc: mich...@walle.cc Signed-off-by: Mao Zhongyi Signed-off-by: Zhang Shengju --- 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, >irq); +sysbus_init_irq(sbd, >irq); memory_region_init_io(>regs_region, OBJECT(s), _mmio_ops, s, "milkymist-softusb", R_MAX * 4); -sysbus_init_mmio(dev, >regs_region); +sysbus_init_mmio(sbd, >regs_region); /* register pmem and dmem */ memory_region_init_ram_nomigrate(>pmem, OBJECT(s), "milkymist-softusb.pmem", s->pmem_size, _fatal); vmstate_register_ram_global(>pmem); s->pmem_ptr = memory_region_get_ram_ptr(>pmem); -sysbus_init_mmio(dev, >pmem); +sysbus_init_mmio(sbd, >pmem); memory_region_init_ram_nomigrate(>dmem, OBJECT(s), "milkymist-softusb.dmem", s->dmem_size, _fatal); vmstate_register_ram_global(>dmem); s->dmem_ptr = memory_region_get_ram_ptr(>dmem); -sysbus_init_mmio(dev, >dmem); +sysbus_init_mmio(sbd, >dmem); hid_init(>hid_kbd, HID_KEYBOARD, softusb_kbd_hid_datain); hid_init(>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 = _milkymist_softusb; dc->props = milkymist_softusb_properties; -- 2.17.1