[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH-for-5.0 10/12] hw/misc/macio/macio: Add missing error-propaga
From: |
David Gibson |
Subject: |
Re: [PATCH-for-5.0 10/12] hw/misc/macio/macio: Add missing error-propagation code |
Date: |
Thu, 26 Mar 2020 10:55:16 +1100 |
On Wed, Mar 25, 2020 at 08:18:28PM +0100, Philippe Mathieu-Daudé wrote:
> Running the coccinelle script produced:
>
> $ spatch \
> --macro-file scripts/cocci-macro-file.h --include-headers \
> --sp-file
> scripts/coccinelle/object_property_missing_error_propagate.cocci \
> --keep-comments --smpl-spacing --dir hw
>
> [[manual check required: error_propagate() might be missing in
> object_property_set_bool() hw/misc/macio/macio.c:350:8]]
>
> Add the missing error_propagate() after manual review.
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Acked-by: David Gibson <address@hidden>
> ---
> hw/misc/macio/macio.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
> index 79222192e8..fffb64a7d5 100644
> --- a/hw/misc/macio/macio.c
> +++ b/hw/misc/macio/macio.c
> @@ -292,98 +292,102 @@ static const MemoryRegionOps timer_ops = {
> 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 *sysbus_dev;
> MemoryRegion *timer_memory = NULL;
>
> macio_common_realize(d, &err);
> if (err) {
> error_propagate(errp, err);
> return;
> }
>
> sysbus_dev = SYS_BUS_DEVICE(&s->escc);
> sysbus_connect_irq(sysbus_dev, 0, qdev_get_gpio_in(pic_dev,
> NEWWORLD_ESCCB_IRQ));
> sysbus_connect_irq(sysbus_dev, 1, qdev_get_gpio_in(pic_dev,
> NEWWORLD_ESCCA_IRQ));
>
> /* OpenPIC */
> sysbus_dev = SYS_BUS_DEVICE(ns->pic);
> memory_region_add_subregion(&s->bar, 0x40000,
> sysbus_mmio_get_region(sysbus_dev, 0));
>
> /* 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);
> 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);
> return;
> }
>
> /* Timer */
> timer_memory = g_new(MemoryRegion, 1);
> memory_region_init_io(timer_memory, OBJECT(s), &timer_ops, NULL, "timer",
> 0x1000);
> memory_region_add_subregion(&s->bar, 0x15000, timer_memory);
>
> if (ns->has_pmu) {
> /* GPIOs */
> sysbus_dev = SYS_BUS_DEVICE(&ns->gpio);
> object_property_set_link(OBJECT(&ns->gpio), OBJECT(pic_dev), "pic",
> &error_abort);
> memory_region_add_subregion(&s->bar, 0x50,
> sysbus_mmio_get_region(sysbus_dev, 0));
> object_property_set_bool(OBJECT(&ns->gpio), true, "realized", &err);
> + if (err) {
> + error_propagate(errp, err);
> + return;
> + }
>
> /* PMU */
> object_initialize_child(OBJECT(s), "pmu", &s->pmu, sizeof(s->pmu),
> TYPE_VIA_PMU, &error_abort, NULL);
> object_property_set_link(OBJECT(&s->pmu), OBJECT(sysbus_dev), "gpio",
> &error_abort);
> qdev_prop_set_bit(DEVICE(&s->pmu), "has-adb", ns->has_adb);
> qdev_set_parent_bus(DEVICE(&s->pmu), BUS(&s->macio_bus));
>
> object_property_set_bool(OBJECT(&s->pmu), true, "realized", &err);
> if (err) {
> error_propagate(errp, err);
> return;
> }
> sysbus_dev = SYS_BUS_DEVICE(&s->pmu);
> sysbus_connect_irq(sysbus_dev, 0, qdev_get_gpio_in(pic_dev,
>
> NEWWORLD_PMU_IRQ));
> memory_region_add_subregion(&s->bar, 0x16000,
> sysbus_mmio_get_region(sysbus_dev, 0));
> } else {
> /* CUDA */
> object_initialize_child(OBJECT(s), "cuda", &s->cuda, sizeof(s->cuda),
> TYPE_CUDA, &error_abort, NULL);
> qdev_set_parent_bus(DEVICE(&s->cuda), BUS(&s->macio_bus));
> qdev_prop_set_uint64(DEVICE(&s->cuda), "timebase-frequency",
> s->frequency);
>
> object_property_set_bool(OBJECT(&s->cuda), true, "realized", &err);
> if (err) {
> error_propagate(errp, err);
> return;
> }
> sysbus_dev = SYS_BUS_DEVICE(&s->cuda);
> sysbus_connect_irq(sysbus_dev, 0, qdev_get_gpio_in(pic_dev,
>
> NEWWORLD_CUDA_IRQ));
> memory_region_add_subregion(&s->bar, 0x16000,
> sysbus_mmio_get_region(sysbus_dev, 0));
> }
> }
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [PATCH-for-5.0 07/12] hw/mips/cps: Add missing error-propagation code, (continued)
- [PATCH-for-5.0 07/12] hw/mips/cps: Add missing error-propagation code, Philippe Mathieu-Daudé, 2020/03/25
- [PATCH-for-5.0 08/12] hw/mips/boston: Add missing error-propagation code, Philippe Mathieu-Daudé, 2020/03/25
- [PATCH-for-5.0 09/12] hw/mips/mips_malta: Add missing error-propagation code, Philippe Mathieu-Daudé, 2020/03/25
- [PATCH-for-5.0 10/12] hw/misc/macio/macio: Add missing error-propagation code, Philippe Mathieu-Daudé, 2020/03/25
- [PATCH-for-5.0 03/12] hw/arm/fsl-imx: Add missing error-propagation code, Philippe Mathieu-Daudé, 2020/03/25
- [PATCH-for-5.0 11/12] hw/net/xilinx_axienet: Add missing error-propagation code, Philippe Mathieu-Daudé, 2020/03/25
- [PATCH-for-5.0 12/12] hw/riscv/sifive_u: Add missing error-propagation code, Philippe Mathieu-Daudé, 2020/03/25