Message ID | bfce0751e82b031f5e6fb3c32cfbce6325434400.1674001242.git.balaton@eik.bme.hu |
---|---|
State | New |
Headers | show |
Series | Misc macio clean ups | expand |
On 18/1/23 01:32, BALATON Zoltan wrote: > Use the convention to return bool from functions which take an error > pointer which allows for callers to pass through their error pointer > without needing a local. > > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> > --- > hw/misc/macio/macio.c | 62 +++++++++++++++++-------------------------- > 1 file changed, 25 insertions(+), 37 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On 18/01/2023 00:32, BALATON Zoltan wrote: > Use the convention to return bool from functions which take an error > pointer which allows for callers to pass through their error pointer > without needing a local. > > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> > --- > hw/misc/macio/macio.c | 62 +++++++++++++++++-------------------------- > 1 file changed, 25 insertions(+), 37 deletions(-) > > diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c > index ae2a9a960d..265c0bbd8d 100644 > --- a/hw/misc/macio/macio.c > +++ b/hw/misc/macio/macio.c > @@ -90,13 +90,13 @@ static void macio_bar_setup(MacIOState *s) > macio_escc_legacy_setup(s); > } > > -static void macio_common_realize(PCIDevice *d, Error **errp) > +static bool macio_common_realize(PCIDevice *d, Error **errp) > { > MacIOState *s = MACIO(d); > SysBusDevice *sbd; > > if (!qdev_realize(DEVICE(&s->dbdma), BUS(&s->macio_bus), errp)) { > - return; > + return false; > } > sbd = SYS_BUS_DEVICE(&s->dbdma); > memory_region_add_subregion(&s->bar, 0x08000, > @@ -108,14 +108,16 @@ static void macio_common_realize(PCIDevice *d, Error **errp) > qdev_prop_set_uint32(DEVICE(&s->escc), "chnBtype", escc_serial); > qdev_prop_set_uint32(DEVICE(&s->escc), "chnAtype", escc_serial); > if (!qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), errp)) { > - return; > + return false; > } > > macio_bar_setup(s); > pci_register_bar(d, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->bar); > + > + return true; > } > > -static void macio_realize_ide(MacIOState *s, MACIOIDEState *ide, > +static bool macio_realize_ide(MacIOState *s, MACIOIDEState *ide, > qemu_irq irq0, qemu_irq irq1, int dmaid, > Error **errp) > { > @@ -128,7 +130,7 @@ static void macio_realize_ide(MacIOState *s, MACIOIDEState *ide, > &error_abort); > macio_ide_register_dma(ide); > > - qdev_realize(DEVICE(ide), BUS(&s->macio_bus), errp); > + return qdev_realize(DEVICE(ide), BUS(&s->macio_bus), errp); > } > > static void macio_oldworld_realize(PCIDevice *d, Error **errp) > @@ -136,12 +138,9 @@ static void macio_oldworld_realize(PCIDevice *d, Error **errp) > MacIOState *s = MACIO(d); > OldWorldMacIOState *os = OLDWORLD_MACIO(d); > DeviceState *pic_dev = DEVICE(&os->pic); > - Error *err = NULL; > SysBusDevice *sbd; > > - macio_common_realize(d, &err); > - if (err) { > - error_propagate(errp, err); > + if (!macio_common_realize(d, errp)) { > return; > } > > @@ -176,21 +175,17 @@ static void macio_oldworld_realize(PCIDevice *d, Error **errp) > pmac_format_nvram_partition(&os->nvram, os->nvram.size); > > /* IDE buses */ > - macio_realize_ide(s, &os->ide[0], > - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_IRQ), > - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_DMA_IRQ), > - 0x16, &err); > - if (err) { > - error_propagate(errp, err); > + if (!macio_realize_ide(s, &os->ide[0], > + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_IRQ), > + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_DMA_IRQ), > + 0x16, errp)) { > return; > } > > - macio_realize_ide(s, &os->ide[1], > - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_IRQ), > - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_DMA_IRQ), > - 0x1a, &err); > - if (err) { > - error_propagate(errp, err); > + if (!macio_realize_ide(s, &os->ide[1], > + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_IRQ), > + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_DMA_IRQ), > + 0x1a, errp)) { > return; > } > } > @@ -266,13 +261,10 @@ static void macio_newworld_realize(PCIDevice *d, Error **errp) > MacIOState *s = MACIO(d); > NewWorldMacIOState *ns = NEWWORLD_MACIO(d); > DeviceState *pic_dev = DEVICE(&ns->pic); > - Error *err = NULL; > SysBusDevice *sbd; > MemoryRegion *timer_memory = NULL; > > - macio_common_realize(d, &err); > - if (err) { > - error_propagate(errp, err); > + if (!macio_common_realize(d, errp)) { > return; > } > > @@ -288,21 +280,17 @@ static void macio_newworld_realize(PCIDevice *d, Error **errp) > sysbus_connect_irq(sbd, 1, qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCA_IRQ)); > > /* IDE buses */ > - macio_realize_ide(s, &ns->ide[0], > - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ), > - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ), > - 0x16, &err); > - if (err) { > - error_propagate(errp, err); > + if (!macio_realize_ide(s, &ns->ide[0], > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ), > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ), > + 0x16, errp)) { > return; > } > > - macio_realize_ide(s, &ns->ide[1], > - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ), > - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ), > - 0x1a, &err); > - if (err) { > - error_propagate(errp, err); > + if (!macio_realize_ide(s, &ns->ide[1], > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ), > + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ), > + 0x1a, errp)) { > return; > } These days you would move macio_common_realize() into TYPE_MACIO, but anyway: Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> ATB, Mark.
On Wed, 1 Feb 2023, Mark Cave-Ayland wrote: > On 18/01/2023 00:32, BALATON Zoltan wrote: >> Use the convention to return bool from functions which take an error >> pointer which allows for callers to pass through their error pointer >> without needing a local. >> >> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> >> --- >> hw/misc/macio/macio.c | 62 +++++++++++++++++-------------------------- >> 1 file changed, 25 insertions(+), 37 deletions(-) >> >> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c >> index ae2a9a960d..265c0bbd8d 100644 >> --- a/hw/misc/macio/macio.c >> +++ b/hw/misc/macio/macio.c >> @@ -90,13 +90,13 @@ static void macio_bar_setup(MacIOState *s) >> macio_escc_legacy_setup(s); >> } >> -static void macio_common_realize(PCIDevice *d, Error **errp) >> +static bool macio_common_realize(PCIDevice *d, Error **errp) >> { >> MacIOState *s = MACIO(d); >> SysBusDevice *sbd; >> if (!qdev_realize(DEVICE(&s->dbdma), BUS(&s->macio_bus), errp)) { >> - return; >> + return false; >> } >> sbd = SYS_BUS_DEVICE(&s->dbdma); >> memory_region_add_subregion(&s->bar, 0x08000, >> @@ -108,14 +108,16 @@ static void macio_common_realize(PCIDevice *d, Error >> **errp) >> qdev_prop_set_uint32(DEVICE(&s->escc), "chnBtype", escc_serial); >> qdev_prop_set_uint32(DEVICE(&s->escc), "chnAtype", escc_serial); >> if (!qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), errp)) { >> - return; >> + return false; >> } >> macio_bar_setup(s); >> pci_register_bar(d, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->bar); >> + >> + return true; >> } >> -static void macio_realize_ide(MacIOState *s, MACIOIDEState *ide, >> +static bool macio_realize_ide(MacIOState *s, MACIOIDEState *ide, >> qemu_irq irq0, qemu_irq irq1, int dmaid, >> Error **errp) >> { >> @@ -128,7 +130,7 @@ static void macio_realize_ide(MacIOState *s, >> MACIOIDEState *ide, >> &error_abort); >> macio_ide_register_dma(ide); >> - qdev_realize(DEVICE(ide), BUS(&s->macio_bus), errp); >> + return qdev_realize(DEVICE(ide), BUS(&s->macio_bus), errp); >> } >> static void macio_oldworld_realize(PCIDevice *d, Error **errp) >> @@ -136,12 +138,9 @@ static void macio_oldworld_realize(PCIDevice *d, Error >> **errp) >> MacIOState *s = MACIO(d); >> OldWorldMacIOState *os = OLDWORLD_MACIO(d); >> DeviceState *pic_dev = DEVICE(&os->pic); >> - Error *err = NULL; >> SysBusDevice *sbd; >> - macio_common_realize(d, &err); >> - if (err) { >> - error_propagate(errp, err); >> + if (!macio_common_realize(d, errp)) { >> return; >> } >> @@ -176,21 +175,17 @@ static void macio_oldworld_realize(PCIDevice *d, >> Error **errp) >> pmac_format_nvram_partition(&os->nvram, os->nvram.size); >> /* IDE buses */ >> - macio_realize_ide(s, &os->ide[0], >> - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_IRQ), >> - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_DMA_IRQ), >> - 0x16, &err); >> - if (err) { >> - error_propagate(errp, err); >> + if (!macio_realize_ide(s, &os->ide[0], >> + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_IRQ), >> + qdev_get_gpio_in(pic_dev, >> OLDWORLD_IDE0_DMA_IRQ), >> + 0x16, errp)) { >> return; >> } >> - macio_realize_ide(s, &os->ide[1], >> - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_IRQ), >> - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_DMA_IRQ), >> - 0x1a, &err); >> - if (err) { >> - error_propagate(errp, err); >> + if (!macio_realize_ide(s, &os->ide[1], >> + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_IRQ), >> + qdev_get_gpio_in(pic_dev, >> OLDWORLD_IDE1_DMA_IRQ), >> + 0x1a, errp)) { >> return; >> } >> } >> @@ -266,13 +261,10 @@ static void macio_newworld_realize(PCIDevice *d, >> Error **errp) >> MacIOState *s = MACIO(d); >> NewWorldMacIOState *ns = NEWWORLD_MACIO(d); >> DeviceState *pic_dev = DEVICE(&ns->pic); >> - Error *err = NULL; >> SysBusDevice *sbd; >> MemoryRegion *timer_memory = NULL; >> - macio_common_realize(d, &err); >> - if (err) { >> - error_propagate(errp, err); >> + if (!macio_common_realize(d, errp)) { >> return; >> } >> @@ -288,21 +280,17 @@ static void macio_newworld_realize(PCIDevice *d, >> Error **errp) >> sysbus_connect_irq(sbd, 1, qdev_get_gpio_in(pic_dev, >> NEWWORLD_ESCCA_IRQ)); >> /* IDE buses */ >> - macio_realize_ide(s, &ns->ide[0], >> - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ), >> - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ), >> - 0x16, &err); >> - if (err) { >> - error_propagate(errp, err); >> + if (!macio_realize_ide(s, &ns->ide[0], >> + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ), >> + qdev_get_gpio_in(pic_dev, >> NEWWORLD_IDE0_DMA_IRQ), >> + 0x16, errp)) { >> return; >> } >> - macio_realize_ide(s, &ns->ide[1], >> - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ), >> - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ), >> - 0x1a, &err); >> - if (err) { >> - error_propagate(errp, err); >> + if (!macio_realize_ide(s, &ns->ide[1], >> + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ), >> + qdev_get_gpio_in(pic_dev, >> NEWWORLD_IDE1_DMA_IRQ), >> + 0x1a, errp)) { >> return; >> } > > These days you would move macio_common_realize() into TYPE_MACIO, but anyway: Maybe in further patches later as I think we'll need more macio changes in the future but for now this is enough to simplify it a bit. Regards, BALATON Zoltan > Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > > > ATB, > > Mark. > >
diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index ae2a9a960d..265c0bbd8d 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -90,13 +90,13 @@ static void macio_bar_setup(MacIOState *s) macio_escc_legacy_setup(s); } -static void macio_common_realize(PCIDevice *d, Error **errp) +static bool macio_common_realize(PCIDevice *d, Error **errp) { MacIOState *s = MACIO(d); SysBusDevice *sbd; if (!qdev_realize(DEVICE(&s->dbdma), BUS(&s->macio_bus), errp)) { - return; + return false; } sbd = SYS_BUS_DEVICE(&s->dbdma); memory_region_add_subregion(&s->bar, 0x08000, @@ -108,14 +108,16 @@ static void macio_common_realize(PCIDevice *d, Error **errp) qdev_prop_set_uint32(DEVICE(&s->escc), "chnBtype", escc_serial); qdev_prop_set_uint32(DEVICE(&s->escc), "chnAtype", escc_serial); if (!qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), errp)) { - return; + return false; } macio_bar_setup(s); pci_register_bar(d, 0, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->bar); + + return true; } -static void macio_realize_ide(MacIOState *s, MACIOIDEState *ide, +static bool macio_realize_ide(MacIOState *s, MACIOIDEState *ide, qemu_irq irq0, qemu_irq irq1, int dmaid, Error **errp) { @@ -128,7 +130,7 @@ static void macio_realize_ide(MacIOState *s, MACIOIDEState *ide, &error_abort); macio_ide_register_dma(ide); - qdev_realize(DEVICE(ide), BUS(&s->macio_bus), errp); + return qdev_realize(DEVICE(ide), BUS(&s->macio_bus), errp); } static void macio_oldworld_realize(PCIDevice *d, Error **errp) @@ -136,12 +138,9 @@ static void macio_oldworld_realize(PCIDevice *d, Error **errp) MacIOState *s = MACIO(d); OldWorldMacIOState *os = OLDWORLD_MACIO(d); DeviceState *pic_dev = DEVICE(&os->pic); - Error *err = NULL; SysBusDevice *sbd; - macio_common_realize(d, &err); - if (err) { - error_propagate(errp, err); + if (!macio_common_realize(d, errp)) { return; } @@ -176,21 +175,17 @@ static void macio_oldworld_realize(PCIDevice *d, Error **errp) pmac_format_nvram_partition(&os->nvram, os->nvram.size); /* IDE buses */ - macio_realize_ide(s, &os->ide[0], - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_IRQ), - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_DMA_IRQ), - 0x16, &err); - if (err) { - error_propagate(errp, err); + if (!macio_realize_ide(s, &os->ide[0], + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_IRQ), + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE0_DMA_IRQ), + 0x16, errp)) { return; } - macio_realize_ide(s, &os->ide[1], - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_IRQ), - qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_DMA_IRQ), - 0x1a, &err); - if (err) { - error_propagate(errp, err); + if (!macio_realize_ide(s, &os->ide[1], + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_IRQ), + qdev_get_gpio_in(pic_dev, OLDWORLD_IDE1_DMA_IRQ), + 0x1a, errp)) { return; } } @@ -266,13 +261,10 @@ static void macio_newworld_realize(PCIDevice *d, Error **errp) MacIOState *s = MACIO(d); NewWorldMacIOState *ns = NEWWORLD_MACIO(d); DeviceState *pic_dev = DEVICE(&ns->pic); - Error *err = NULL; SysBusDevice *sbd; MemoryRegion *timer_memory = NULL; - macio_common_realize(d, &err); - if (err) { - error_propagate(errp, err); + if (!macio_common_realize(d, errp)) { return; } @@ -288,21 +280,17 @@ static void macio_newworld_realize(PCIDevice *d, Error **errp) sysbus_connect_irq(sbd, 1, qdev_get_gpio_in(pic_dev, NEWWORLD_ESCCA_IRQ)); /* IDE buses */ - macio_realize_ide(s, &ns->ide[0], - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ), - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ), - 0x16, &err); - if (err) { - error_propagate(errp, err); + if (!macio_realize_ide(s, &ns->ide[0], + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_IRQ), + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE0_DMA_IRQ), + 0x16, errp)) { return; } - macio_realize_ide(s, &ns->ide[1], - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ), - qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ), - 0x1a, &err); - if (err) { - error_propagate(errp, err); + if (!macio_realize_ide(s, &ns->ide[1], + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_IRQ), + qdev_get_gpio_in(pic_dev, NEWWORLD_IDE1_DMA_IRQ), + 0x1a, errp)) { return; }
Use the convention to return bool from functions which take an error pointer which allows for callers to pass through their error pointer without needing a local. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> --- hw/misc/macio/macio.c | 62 +++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 37 deletions(-)