[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH-for-5.1 v3 17/24] hw/microblaze/xlnx-zynqmp-pmu: Move some co
From: |
Alistair Francis |
Subject: |
Re: [PATCH-for-5.1 v3 17/24] hw/microblaze/xlnx-zynqmp-pmu: Move some code from realize() to init() |
Date: |
Mon, 13 Apr 2020 15:19:54 -0700 |
On Sun, Apr 12, 2020 at 3:44 PM Philippe Mathieu-Daudé <address@hidden> wrote:
>
> Coccinelle reported:
>
> $ spatch ... --timeout 60 --sp-file \
> scripts/coccinelle/simplify-init-realize-error_propagate.cocci
> HANDLING: ./hw/microblaze/xlnx-zynqmp-pmu.c
> >>> possible moves from xlnx_zynqmp_pmu_soc_init() to
> xlnx_zynqmp_pmu_soc_realize() in ./hw/microblaze/xlnx-zynqmp-pmu.c:79
>
> Move the calls using &error_abort which don't depend on input
> updated before realize() to init().
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Alistair
> ---
> v3: Typo 'depend of' -> 'depend on' (eblake)
> ---
> hw/microblaze/xlnx-zynqmp-pmu.c | 46 ++++++++++++++++-----------------
> 1 file changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pmu.c
> index 028f31894d..2aa602cf85 100644
> --- a/hw/microblaze/xlnx-zynqmp-pmu.c
> +++ b/hw/microblaze/xlnx-zynqmp-pmu.c
> @@ -63,24 +63,6 @@ static void xlnx_zynqmp_pmu_soc_init(Object *obj)
>
> object_initialize_child(obj, "pmu-cpu", &s->cpu, sizeof(s->cpu),
> TYPE_MICROBLAZE_CPU, &error_abort, NULL);
> -
> - sysbus_init_child_obj(obj, "intc", &s->intc, sizeof(s->intc),
> - TYPE_XLNX_PMU_IO_INTC);
> -
> - /* Create the IPI device */
> - for (int i = 0; i < XLNX_ZYNQMP_PMU_NUM_IPIS; i++) {
> - char *name = g_strdup_printf("ipi%d", i);
> - sysbus_init_child_obj(obj, name, &s->ipi[i],
> - sizeof(XlnxZynqMPIPI), TYPE_XLNX_ZYNQMP_IPI);
> - g_free(name);
> - }
> -}
> -
> -static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev, Error **errp)
> -{
> - XlnxZynqMPPMUSoCState *s = XLNX_ZYNQMP_PMU_SOC(dev);
> - Error *err = NULL;
> -
> object_property_set_uint(OBJECT(&s->cpu), XLNX_ZYNQMP_PMU_ROM_ADDR,
> "base-vectors", &error_abort);
> object_property_set_bool(OBJECT(&s->cpu), true, "use-stack-protection",
> @@ -99,18 +81,36 @@ static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev,
> Error **errp)
> object_property_set_str(OBJECT(&s->cpu), "8.40.b", "version",
> &error_abort);
> object_property_set_uint(OBJECT(&s->cpu), 0, "pvr", &error_abort);
> - object_property_set_bool(OBJECT(&s->cpu), true, "realized", &err);
> - if (err) {
> - error_propagate(errp, err);
> - return;
> - }
>
> + sysbus_init_child_obj(obj, "intc", &s->intc, sizeof(s->intc),
> + TYPE_XLNX_PMU_IO_INTC);
> object_property_set_uint(OBJECT(&s->intc), 0x10, "intc-intr-size",
> &error_abort);
> object_property_set_uint(OBJECT(&s->intc), 0x0, "intc-level-edge",
> &error_abort);
> object_property_set_uint(OBJECT(&s->intc), 0xffff, "intc-positive",
> &error_abort);
> +
> + /* Create the IPI device */
> + for (int i = 0; i < XLNX_ZYNQMP_PMU_NUM_IPIS; i++) {
> + char *name = g_strdup_printf("ipi%d", i);
> + sysbus_init_child_obj(obj, name, &s->ipi[i],
> + sizeof(XlnxZynqMPIPI), TYPE_XLNX_ZYNQMP_IPI);
> + g_free(name);
> + }
> +}
> +
> +static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev, Error **errp)
> +{
> + XlnxZynqMPPMUSoCState *s = XLNX_ZYNQMP_PMU_SOC(dev);
> + Error *err = NULL;
> +
> + object_property_set_bool(OBJECT(&s->cpu), true, "realized", &err);
> + if (err) {
> + error_propagate(errp, err);
> + return;
> + }
> +
> object_property_set_bool(OBJECT(&s->intc), true, "realized", &err);
> if (err) {
> error_propagate(errp, err);
> --
> 2.21.1
>
>
- [PATCH-for-5.1 v3 12/24] hw/arm/stm32f205_soc: Store MemoryRegion in STM32F205State, (continued)
- [PATCH-for-5.1 v3 12/24] hw/arm/stm32f205_soc: Store MemoryRegion in STM32F205State, Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 13/24] hw/arm/stm32f205_soc: Move some code from realize() to init(), Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 14/24] hw/arm/xlnx-zynqmp: Use single propagate_error() call, Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 15/24] hw/arm/xlnx-zynqmp: Split xlnx_zynqmp_create_rpu() as init + realize, Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 16/24] hw/arm/xlnx-zynqmp: Move some code from realize() to init(), Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 17/24] hw/microblaze/xlnx-zynqmp-pmu: Move some code from realize() to init(), Philippe Mathieu-Daudé, 2020/04/12
- Re: [PATCH-for-5.1 v3 17/24] hw/microblaze/xlnx-zynqmp-pmu: Move some code from realize() to init(),
Alistair Francis <=
- [PATCH-for-5.1 v3 18/24] hw/pci-host/pnv_phb3: Move some code from realize() to init(), Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 19/24] hw/riscv/sifive_e: Move some code from realize() to init(), Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 20/24] hw/riscv/sifive_u: Use single type_init(), Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 21/24] hw/riscv/sifive_u: Move some code from realize() to init(), Philippe Mathieu-Daudé, 2020/04/12
- [PATCH-for-5.1 v3 22/24] hw/riscv/sifive_u: Store MemoryRegion in SiFiveUSoCState, Philippe Mathieu-Daudé, 2020/04/12