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
>