Message ID | 20181123153040.18933-19-maozhongyi@cmss.chinamobile.com |
---|---|
State | New |
Headers | show |
Series | QOM'ify SysBusDeviceClass->init | expand |
On 23/11/18 16:30, Mao Zhongyi wrote: > Use DeviceClass rather than SysBusDeviceClass in > puv3_ost_class_init(). > > Cc: gxt@mprc.pku.edu.cn > > 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/timer/puv3_ost.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/hw/timer/puv3_ost.c b/hw/timer/puv3_ost.c > index 0b3d717e60..3be58c7fdd 100644 > --- a/hw/timer/puv3_ost.c > +++ b/hw/timer/puv3_ost.c > @@ -113,16 +113,17 @@ static void puv3_ost_tick(void *opaque) > } > } > > -static int puv3_ost_init(SysBusDevice *dev) > +static void puv3_ost_realize(DeviceState *dev, Error **errp) > { > PUV3OSTState *s = PUV3_OST(dev); > + SysBusDevice *sbd = SYS_BUS_DEVICE(dev); > > s->reg_OIER = 0; > s->reg_OSSR = 0; > s->reg_OSMR0 = 0; > s->reg_OSCR = 0; > > - sysbus_init_irq(dev, &s->irq); > + sysbus_init_irq(sbd, &s->irq); > > s->bh = qemu_bh_new(puv3_ost_tick, s); > s->ptimer = ptimer_init(s->bh, PTIMER_POLICY_DEFAULT); > @@ -130,16 +131,14 @@ static int puv3_ost_init(SysBusDevice *dev) > > memory_region_init_io(&s->iomem, OBJECT(s), &puv3_ost_ops, s, "puv3_ost", > PUV3_REGS_OFFSET); > - sysbus_init_mmio(dev, &s->iomem); > - > - return 0; > + sysbus_init_mmio(sbd, &s->iomem); > } > > static void puv3_ost_class_init(ObjectClass *klass, void *data) > { > - SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass); > + DeviceClass *dc = DEVICE_CLASS(klass); > > - sdc->init = puv3_ost_init; > + dc->realize = puv3_ost_realize; > } > > static const TypeInfo puv3_ost_info = { >
diff --git a/hw/timer/puv3_ost.c b/hw/timer/puv3_ost.c index 0b3d717e60..3be58c7fdd 100644 --- a/hw/timer/puv3_ost.c +++ b/hw/timer/puv3_ost.c @@ -113,16 +113,17 @@ static void puv3_ost_tick(void *opaque) } } -static int puv3_ost_init(SysBusDevice *dev) +static void puv3_ost_realize(DeviceState *dev, Error **errp) { PUV3OSTState *s = PUV3_OST(dev); + SysBusDevice *sbd = SYS_BUS_DEVICE(dev); s->reg_OIER = 0; s->reg_OSSR = 0; s->reg_OSMR0 = 0; s->reg_OSCR = 0; - sysbus_init_irq(dev, &s->irq); + sysbus_init_irq(sbd, &s->irq); s->bh = qemu_bh_new(puv3_ost_tick, s); s->ptimer = ptimer_init(s->bh, PTIMER_POLICY_DEFAULT); @@ -130,16 +131,14 @@ static int puv3_ost_init(SysBusDevice *dev) memory_region_init_io(&s->iomem, OBJECT(s), &puv3_ost_ops, s, "puv3_ost", PUV3_REGS_OFFSET); - sysbus_init_mmio(dev, &s->iomem); - - return 0; + sysbus_init_mmio(sbd, &s->iomem); } static void puv3_ost_class_init(ObjectClass *klass, void *data) { - SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass); + DeviceClass *dc = DEVICE_CLASS(klass); - sdc->init = puv3_ost_init; + dc->realize = puv3_ost_realize; } static const TypeInfo puv3_ost_info = {