> Subject: [PATCH 10/12] hw/arm/aspeed_ast27x0-{ssp,tsp}: Do not access
> SerialMM internals directly
>
> SerialMM inherits from SysBusDevice and exposes the memory region by
> means of sysbus_mmio_get_region(). Use that in order to avoid accessing
> implementation details of SerialMM.
>
> Signed-off-by: Bernhard Beschow <[email protected]>
> ---
> hw/arm/aspeed_ast27x0-ssp.c | 7 ++++--- hw/arm/aspeed_ast27x0-tsp.c |
> 7 ++++---
> 2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/hw/arm/aspeed_ast27x0-ssp.c b/hw/arm/aspeed_ast27x0-ssp.c
> index 9b12ba6743..8b84300e0f 100644
> --- a/hw/arm/aspeed_ast27x0-ssp.c
> +++ b/hw/arm/aspeed_ast27x0-ssp.c
> @@ -149,6 +149,7 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState
> *dev_soc, Error **errp)
> AspeedCoprocessorState *s = ASPEED_COPROCESSOR(dev_soc);
> AspeedCoprocessorClass *sc = ASPEED_COPROCESSOR_GET_CLASS(s);
> DeviceState *armv7m;
> + MemoryRegion *mr;
> g_autofree char *sdram_name = NULL;
> int i;
>
> @@ -230,9 +231,9 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState
> *dev_soc, Error **errp)
> }
>
> /* UART */
> - memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias",
> - &s->uart->serial.io, 0,
> -
> memory_region_size(&s->uart->serial.io));
> + mr = sysbus_mmio_get_region(SYS_BUS_DEVICE(s->uart), 0);
> + memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias", mr, 0,
> + memory_region_size(mr));
> memory_region_add_subregion(s->memory, sc->memmap[s->uart_dev],
> &s->uart_alias);
> /*
> diff --git a/hw/arm/aspeed_ast27x0-tsp.c b/hw/arm/aspeed_ast27x0-tsp.c
> index e39d1dc171..e7c7b74491 100644
> --- a/hw/arm/aspeed_ast27x0-tsp.c
> +++ b/hw/arm/aspeed_ast27x0-tsp.c
> @@ -149,6 +149,7 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState
> *dev_soc, Error **errp)
> AspeedCoprocessorState *s = ASPEED_COPROCESSOR(dev_soc);
> AspeedCoprocessorClass *sc = ASPEED_COPROCESSOR_GET_CLASS(s);
> DeviceState *armv7m;
> + MemoryRegion *mr;
> g_autofree char *sdram_name = NULL;
> int i;
>
> @@ -230,9 +231,9 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState
> *dev_soc, Error **errp)
> }
>
> /* UART */
> - memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias",
> - &s->uart->serial.io, 0,
> -
> memory_region_size(&s->uart->serial.io));
> + mr = sysbus_mmio_get_region(SYS_BUS_DEVICE(s->uart), 0);
> + memory_region_init_alias(&s->uart_alias, OBJECT(s), "uart.alias", mr, 0,
> + memory_region_size(mr));
> memory_region_add_subregion(s->memory, sc->memmap[s->uart_dev],
> &s->uart_alias);
> /*
> --
> 2.53.0
Reviewed-by: Jamin Lin <[email protected]>
Thanks,
Jamin