qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] ppc4xx_pci: convert SysBus init method to a


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH 2/2] ppc4xx_pci: convert SysBus init method to a realize method
Date: Mon, 1 Oct 2018 17:06:07 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0

Hi Cédric,

On 01/10/2018 13:44, Cédric Le Goater wrote:
> Signed-off-by: Cédric Le Goater <address@hidden>
> ---
>  hw/ppc/ppc4xx_pci.c | 14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/ppc/ppc4xx_pci.c b/hw/ppc/ppc4xx_pci.c
> index b7642bac016b..86981be71024 100644
> --- a/hw/ppc/ppc4xx_pci.c
> +++ b/hw/ppc/ppc4xx_pci.c
> @@ -300,8 +300,9 @@ static const VMStateDescription vmstate_ppc4xx_pci = {
>  };
>  
>  /* XXX Interrupt acknowledge cycles not supported. */
> -static int ppc4xx_pcihost_initfn(SysBusDevice *dev)
> +static void ppc4xx_pcihost_realize(DeviceState *dev, Error **errp)
>  {
> +    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
>      PPC4xxPCIState *s;
>      PCIHostState *h;
>      PCIBus *b;
> @@ -311,10 +312,10 @@ static int ppc4xx_pcihost_initfn(SysBusDevice *dev)
>      s = PPC4xx_PCI_HOST_BRIDGE(dev);
>  
>      for (i = 0; i < ARRAY_SIZE(s->irq); i++) {
> -        sysbus_init_irq(dev, &s->irq[i]);
> +        sysbus_init_irq(sbd, &s->irq[i]);
>      }
>  
> -    b = pci_register_root_bus(DEVICE(dev), NULL, ppc4xx_pci_set_irq,
> +    b = pci_register_root_bus(dev, NULL, ppc4xx_pci_set_irq,
>                                ppc4xx_pci_map_irq, s->irq, 
> get_system_memory(),
>                                get_system_io(), 0, 4, TYPE_PCI_BUS);
>      h->bus = b;
> @@ -332,10 +333,8 @@ static int ppc4xx_pcihost_initfn(SysBusDevice *dev)
>      memory_region_add_subregion(&s->container, PCIC0_CFGADDR, &h->conf_mem);
>      memory_region_add_subregion(&s->container, PCIC0_CFGDATA, &h->data_mem);
>      memory_region_add_subregion(&s->container, PCI_REG_BASE, &s->iomem);
> -    sysbus_init_mmio(dev, &s->container);
> +    sysbus_init_mmio(sbd, &s->container);
>      qemu_register_reset(ppc4xx_pci_reset, s);

While here, can you also convert to DeviceClass::reset()?

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

> -
> -    return 0;
>  }
>  
>  static void ppc4xx_host_bridge_class_init(ObjectClass *klass, void *data)
> @@ -367,10 +366,9 @@ static const TypeInfo ppc4xx_host_bridge_info = {
>  
>  static void ppc4xx_pcihost_class_init(ObjectClass *klass, void *data)
>  {
> -    SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
>      DeviceClass *dc = DEVICE_CLASS(klass);
>  
> -    k->init = ppc4xx_pcihost_initfn;
> +    dc->realize = ppc4xx_pcihost_realize;
>      dc->vmsd = &vmstate_ppc4xx_pci;
>  }
>  
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]