diff mbox series

[v2,07/21] gpio/puv3_gpio: Convert sysbus init function to realize function

Message ID 20181123153040.18933-8-maozhongyi@cmss.chinamobile.com (mailing list archive)
State New, archived
Headers show
Series QOM'ify SysBusDeviceClass->init | expand

Commit Message

Mao Zhongyi Nov. 23, 2018, 3:30 p.m. UTC
Use DeviceClass rather than SysBusDeviceClass in
puv3_gpio_class_init().

Cc: gxt@mprc.pku.edu.cn
Cc: peter.maydell@linaro.org

Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
---
 hw/gpio/puv3_gpio.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

Comments

Philippe Mathieu-Daudé Nov. 23, 2018, 3:38 p.m. UTC | #1
On 23/11/18 16:30, Mao Zhongyi wrote:
> Use DeviceClass rather than SysBusDeviceClass in
> puv3_gpio_class_init().
> 
> Cc: gxt@mprc.pku.edu.cn
> Cc: peter.maydell@linaro.org
> 
> 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/gpio/puv3_gpio.c | 29 ++++++++++++++---------------
>  1 file changed, 14 insertions(+), 15 deletions(-)
> 
> diff --git a/hw/gpio/puv3_gpio.c b/hw/gpio/puv3_gpio.c
> index 445afccf9f..33241b8564 100644
> --- a/hw/gpio/puv3_gpio.c
> +++ b/hw/gpio/puv3_gpio.c
> @@ -99,36 +99,35 @@ static const MemoryRegionOps puv3_gpio_ops = {
>      .endianness = DEVICE_NATIVE_ENDIAN,
>  };
>  
> -static int puv3_gpio_init(SysBusDevice *dev)
> +static void puv3_gpio_realize(DeviceState *dev, Error **errp)
>  {
>      PUV3GPIOState *s = PUV3_GPIO(dev);
> +    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
>  
>      s->reg_GPLR = 0;
>      s->reg_GPDR = 0;
>  
>      /* FIXME: these irqs not handled yet */
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW0]);
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW1]);
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW2]);
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW3]);
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW4]);
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW5]);
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW6]);
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW7]);
> -    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOHIGH]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW0]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW1]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW2]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW3]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW4]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW5]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW6]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW7]);
> +    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOHIGH]);
>  
>      memory_region_init_io(&s->iomem, OBJECT(s), &puv3_gpio_ops, s, "puv3_gpio",
>              PUV3_REGS_OFFSET);
> -    sysbus_init_mmio(dev, &s->iomem);
> -
> -    return 0;
> +    sysbus_init_mmio(sbd, &s->iomem);
>  }
>  
>  static void puv3_gpio_class_init(ObjectClass *klass, void *data)
>  {
> -    SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass);
> +    DeviceClass *dc = DEVICE_CLASS(klass);
>  
> -    sdc->init = puv3_gpio_init;
> +    dc->realize = puv3_gpio_realize;
>  }
>  
>  static const TypeInfo puv3_gpio_info = {
>
diff mbox series

Patch

diff --git a/hw/gpio/puv3_gpio.c b/hw/gpio/puv3_gpio.c
index 445afccf9f..33241b8564 100644
--- a/hw/gpio/puv3_gpio.c
+++ b/hw/gpio/puv3_gpio.c
@@ -99,36 +99,35 @@  static const MemoryRegionOps puv3_gpio_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static int puv3_gpio_init(SysBusDevice *dev)
+static void puv3_gpio_realize(DeviceState *dev, Error **errp)
 {
     PUV3GPIOState *s = PUV3_GPIO(dev);
+    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
 
     s->reg_GPLR = 0;
     s->reg_GPDR = 0;
 
     /* FIXME: these irqs not handled yet */
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW0]);
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW1]);
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW2]);
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW3]);
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW4]);
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW5]);
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW6]);
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOLOW7]);
-    sysbus_init_irq(dev, &s->irq[PUV3_IRQS_GPIOHIGH]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW0]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW1]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW2]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW3]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW4]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW5]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW6]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOLOW7]);
+    sysbus_init_irq(sbd, &s->irq[PUV3_IRQS_GPIOHIGH]);
 
     memory_region_init_io(&s->iomem, OBJECT(s), &puv3_gpio_ops, s, "puv3_gpio",
             PUV3_REGS_OFFSET);
-    sysbus_init_mmio(dev, &s->iomem);
-
-    return 0;
+    sysbus_init_mmio(sbd, &s->iomem);
 }
 
 static void puv3_gpio_class_init(ObjectClass *klass, void *data)
 {
-    SysBusDeviceClass *sdc = SYS_BUS_DEVICE_CLASS(klass);
+    DeviceClass *dc = DEVICE_CLASS(klass);
 
-    sdc->init = puv3_gpio_init;
+    dc->realize = puv3_gpio_realize;
 }
 
 static const TypeInfo puv3_gpio_info = {