Message ID | 20181119120820.29878-7-maozhongyi@cmss.chinamobile.com |
---|---|
State | New |
Headers | show |
Series | None | expand |
On 19 November 2018 at 12:08, Mao Zhongyi <maozhongyi@cmss.chinamobile.com> wrote: > Use DeviceClass rather than SysBusDeviceClass in > puv3_dma_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> > --- > hw/dma/puv3_dma.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/hw/dma/puv3_dma.c b/hw/dma/puv3_dma.c > index b97a6c1767..c89eade029 100644 > --- a/hw/dma/puv3_dma.c > +++ b/hw/dma/puv3_dma.c > @@ -76,7 +76,7 @@ static const MemoryRegionOps puv3_dma_ops = { > .endianness = DEVICE_NATIVE_ENDIAN, > }; > > -static int puv3_dma_init(SysBusDevice *dev) > +static void puv3_dma_realize(DeviceState *dev, Error **errp) > { > PUV3DMAState *s = PUV3_DMA(dev); > int i; > @@ -87,16 +87,14 @@ static int puv3_dma_init(SysBusDevice *dev) > > memory_region_init_io(&s->iomem, OBJECT(s), &puv3_dma_ops, s, "puv3_dma", > PUV3_REGS_OFFSET); > - sysbus_init_mmio(dev, &s->iomem); > - > - return 0; > + sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem); > } > > static void puv3_dma_class_init(ObjectClass *klass, void *data) > { > - SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass); > + DeviceClass *dc = DEVICE_CLASS(klass); > > - sdc->init = puv3_dma_init; > + dc->realize = puv3_dma_realize; > } > > static const TypeInfo puv3_dma_info = { Reviewed-by: Peter Maydell <peter.maydell@linaro.org> (I note that this device is missing a reset function and is instead resetting in its init/realize function, but that's a separate bug. It's also missing vmstate.) thanks -- PMM
On 19/11/18 13:08, Mao Zhongyi wrote: > Use DeviceClass rather than SysBusDeviceClass in > puv3_dma_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/dma/puv3_dma.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/hw/dma/puv3_dma.c b/hw/dma/puv3_dma.c > index b97a6c1767..c89eade029 100644 > --- a/hw/dma/puv3_dma.c > +++ b/hw/dma/puv3_dma.c > @@ -76,7 +76,7 @@ static const MemoryRegionOps puv3_dma_ops = { > .endianness = DEVICE_NATIVE_ENDIAN, > }; > > -static int puv3_dma_init(SysBusDevice *dev) > +static void puv3_dma_realize(DeviceState *dev, Error **errp) > { > PUV3DMAState *s = PUV3_DMA(dev); > int i; > @@ -87,16 +87,14 @@ static int puv3_dma_init(SysBusDevice *dev) > > memory_region_init_io(&s->iomem, OBJECT(s), &puv3_dma_ops, s, "puv3_dma", > PUV3_REGS_OFFSET); > - sysbus_init_mmio(dev, &s->iomem); > - > - return 0; > + sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem); > } > > static void puv3_dma_class_init(ObjectClass *klass, void *data) > { > - SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass); > + DeviceClass *dc = DEVICE_CLASS(klass); > > - sdc->init = puv3_dma_init; > + dc->realize = puv3_dma_realize; > } > > static const TypeInfo puv3_dma_info = { >
On 11/20/18 10:46 PM, Peter Maydell wrote: > On 19 November 2018 at 12:08, Mao Zhongyi > <maozhongyi@cmss.chinamobile.com> wrote: >> Use DeviceClass rather than SysBusDeviceClass in >> puv3_dma_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> >> --- >> hw/dma/puv3_dma.c | 10 ++++------ >> 1 file changed, 4 insertions(+), 6 deletions(-) >> >> diff --git a/hw/dma/puv3_dma.c b/hw/dma/puv3_dma.c >> index b97a6c1767..c89eade029 100644 >> --- a/hw/dma/puv3_dma.c >> +++ b/hw/dma/puv3_dma.c >> @@ -76,7 +76,7 @@ static const MemoryRegionOps puv3_dma_ops = { >> .endianness = DEVICE_NATIVE_ENDIAN, >> }; >> >> -static int puv3_dma_init(SysBusDevice *dev) >> +static void puv3_dma_realize(DeviceState *dev, Error **errp) >> { >> PUV3DMAState *s = PUV3_DMA(dev); >> int i; >> @@ -87,16 +87,14 @@ static int puv3_dma_init(SysBusDevice *dev) >> >> memory_region_init_io(&s->iomem, OBJECT(s), &puv3_dma_ops, s, "puv3_dma", >> PUV3_REGS_OFFSET); >> - sysbus_init_mmio(dev, &s->iomem); >> - >> - return 0; >> + sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem); >> } >> >> static void puv3_dma_class_init(ObjectClass *klass, void *data) >> { >> - SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass); >> + DeviceClass *dc = DEVICE_CLASS(klass); >> >> - sdc->init = puv3_dma_init; >> + dc->realize = puv3_dma_realize; >> } >> >> static const TypeInfo puv3_dma_info = { > > Reviewed-by: Peter Maydell <peter.maydell@linaro.org> > > (I note that this device is missing a reset function and is > instead resetting in its init/realize function, but that's a > separate bug. It's also missing vmstate.) OK, I will fix it later in a separate patch. Thanks, Mao > > thanks > -- PMM >
diff --git a/hw/dma/puv3_dma.c b/hw/dma/puv3_dma.c index b97a6c1767..c89eade029 100644 --- a/hw/dma/puv3_dma.c +++ b/hw/dma/puv3_dma.c @@ -76,7 +76,7 @@ static const MemoryRegionOps puv3_dma_ops = { .endianness = DEVICE_NATIVE_ENDIAN, }; -static int puv3_dma_init(SysBusDevice *dev) +static void puv3_dma_realize(DeviceState *dev, Error **errp) { PUV3DMAState *s = PUV3_DMA(dev); int i; @@ -87,16 +87,14 @@ static int puv3_dma_init(SysBusDevice *dev) memory_region_init_io(&s->iomem, OBJECT(s), &puv3_dma_ops, s, "puv3_dma", PUV3_REGS_OFFSET); - sysbus_init_mmio(dev, &s->iomem); - - return 0; + sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem); } static void puv3_dma_class_init(ObjectClass *klass, void *data) { - SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass); + DeviceClass *dc = DEVICE_CLASS(klass); - sdc->init = puv3_dma_init; + dc->realize = puv3_dma_realize; } static const TypeInfo puv3_dma_info = {