diff mbox series

[06/22] dma/puv3_dma: Convert sysbus init function to realize function

Message ID 20181119120820.29878-7-maozhongyi@cmss.chinamobile.com
State New
Headers show
Series None | expand

Commit Message

Mao Zhongyi Nov. 19, 2018, 12:08 p.m. UTC
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(-)

Comments

Peter Maydell Nov. 20, 2018, 2:46 p.m. UTC | #1
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
Philippe Mathieu-Daudé Nov. 20, 2018, 9:26 p.m. UTC | #2
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 = {
>
Mao Zhongyi Nov. 23, 2018, 3:25 a.m. UTC | #3
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 mbox series

Patch

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 = {