[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH v2 05/16] hw/arm/bcm2835: Use object_
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH v2 05/16] hw/arm/bcm2835: Use object_initialize() on PL011State |
Date: |
Wed, 8 May 2019 13:09:45 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
On 07/05/19 11:34, Philippe Mathieu-Daudé wrote:
> To be coherent with the other peripherals contained in the
> BCM2835PeripheralState structure, directly allocate the PL011State
> (instead of using the pl011 uart as a pointer to a SysBusDevice).
>
> Initialize the PL011State with object_initialize() instead of
> object_new().
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> hw/arm/bcm2835_peripherals.c | 14 +++++++-------
> include/hw/arm/bcm2835_peripherals.h | 2 +-
> 2 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c
> index 7ffb51b6927..2931a82a25a 100644
> --- a/hw/arm/bcm2835_peripherals.c
> +++ b/hw/arm/bcm2835_peripherals.c
> @@ -46,9 +46,9 @@ static void bcm2835_peripherals_init(Object *obj)
> qdev_set_parent_bus(DEVICE(&s->ic), sysbus_get_default());
>
> /* UART0 */
> - s->uart0 = SYS_BUS_DEVICE(object_new(TYPE_PL011));
> - object_property_add_child(obj, "uart0", OBJECT(s->uart0), NULL);
> - qdev_set_parent_bus(DEVICE(s->uart0), sysbus_get_default());
> + object_initialize(&s->uart0, sizeof(s->uart0), TYPE_PL011);
> + object_property_add_child(obj, "uart0", OBJECT(&s->uart0), NULL);
> + qdev_set_parent_bus(DEVICE(&s->uart0), sysbus_get_default());
>
> /* AUX / UART1 */
> object_initialize(&s->aux, sizeof(s->aux), TYPE_BCM2835_AUX);
> @@ -166,16 +166,16 @@ static void bcm2835_peripherals_realize(DeviceState
> *dev, Error **errp)
> sysbus_pass_irq(SYS_BUS_DEVICE(s), SYS_BUS_DEVICE(&s->ic));
>
> /* UART0 */
> - qdev_prop_set_chr(DEVICE(s->uart0), "chardev", serial_hd(0));
> - object_property_set_bool(OBJECT(s->uart0), true, "realized", &err);
> + qdev_prop_set_chr(DEVICE(&s->uart0), "chardev", serial_hd(0));
> + object_property_set_bool(OBJECT(&s->uart0), true, "realized", &err);
> if (err) {
> error_propagate(errp, err);
> return;
> }
>
> memory_region_add_subregion(&s->peri_mr, UART0_OFFSET,
> - sysbus_mmio_get_region(s->uart0, 0));
> - sysbus_connect_irq(s->uart0, 0,
> + sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->uart0), 0));
> + sysbus_connect_irq(SYS_BUS_DEVICE(&s->uart0), 0,
> qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ,
> INTERRUPT_UART));
> /* AUX / UART1 */
> diff --git a/include/hw/arm/bcm2835_peripherals.h
> b/include/hw/arm/bcm2835_peripherals.h
> index 959508d57dd..e79c21771fe 100644
> --- a/include/hw/arm/bcm2835_peripherals.h
> +++ b/include/hw/arm/bcm2835_peripherals.h
> @@ -38,7 +38,7 @@ typedef struct BCM2835PeripheralState {
> MemoryRegion ram_alias[4];
> qemu_irq irq, fiq;
>
> - SysBusDevice *uart0;
> + PL011State uart0;
> BCM2835AuxState aux;
> BCM2835FBState fb;
> BCM2835DMAState dma;
>
Reviewed-by: Paolo Bonzini <address@hidden>
- [Qemu-ppc] [PATCH v2 00/16] hw: Use object_initialize_child for correct reference counting, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 01/16] hw/ppc/pnv: Use object_initialize_child for correct reference counting, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 02/16] hw/misc/macio: Use object_initialize_child for correct ref. counting, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 03/16] hw/virtio: Use object_initialize_child for correct reference counting, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 04/16] hw/arm/bcm2835: Use TYPE_PL011 instead of hardcoded string, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 05/16] hw/arm/bcm2835: Use object_initialize() on PL011State, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 06/16] hw/arm/bcm2835: Use object_initialize_child for correct ref. counting, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 07/16] hw/arm/aspeed: Use object_initialize_child for correct ref. counting, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 08/16] hw/arm: Use object_initialize_child for correct reference counting, Philippe Mathieu-Daudé, 2019/05/07
- [Qemu-ppc] [PATCH v2 09/16] hw/mips: Use object_initialize() on MIPSCPSState, Philippe Mathieu-Daudé, 2019/05/07