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
