On 9/24/25 07:55, Jamin Lin wrote:
> Relocate aspeed_board_init_flashes() from hw/arm/aspeed.c into
> hw/arm/aspeed_soc_common.c so the helper can be reused by all
> ASPEED machines. The API was already declared in
> include/hw/arm/aspeed_soc.h; this change moves its
> implementation out of the machine file to keep aspeed.c cleaner.
>
> No functional change.
>
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> hw/arm/aspeed.c | 22 ----------------------
> hw/arm/aspeed_soc_common.c | 23 +++++++++++++++++++++++
> 2 files changed, 23 insertions(+), 22 deletions(-)
>
> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> index d21b21965a..55f0afe0a4 100644
> --- a/hw/arm/aspeed.c
> +++ b/hw/arm/aspeed.c
> @@ -337,28 +337,6 @@ static void aspeed_load_vbootrom(AspeedMachineState *bmc, const char *bios_name,
> }
> }
>
> -void aspeed_board_init_flashes(AspeedSMCState *s, const char *flashtype,
> - unsigned int count, int unit0)
> -{
> - int i;
> -
> - if (!flashtype) {
> - return;
> - }
> -
> - for (i = 0; i < count; ++i) {
> - DriveInfo *dinfo = drive_get(IF_MTD, 0, unit0 + i);
> - DeviceState *dev;
> -
> - dev = qdev_new(flashtype);
> - if (dinfo) {
> - qdev_prop_set_drive(dev, "drive", blk_by_legacy_dinfo(dinfo));
> - }
> - qdev_prop_set_uint8(dev, "cs", i);
> - qdev_realize_and_unref(dev, BUS(s->spi), &error_fatal);
> - }
> -}
> -
> static void sdhci_attach_drive(SDHCIState *sdhci, DriveInfo *dinfo, bool emmc,
> bool boot_emmc)
> {
> diff --git a/hw/arm/aspeed_soc_common.c b/hw/arm/aspeed_soc_common.c
> index 1c4ac93a0f..31b1e683c3 100644
> --- a/hw/arm/aspeed_soc_common.c
> +++ b/hw/arm/aspeed_soc_common.c
> @@ -16,6 +16,7 @@
> #include "hw/misc/unimp.h"
> #include "hw/arm/aspeed_soc.h"
> #include "hw/char/serial-mm.h"
> +#include "system/blockdev.h"
>
>
> const char *aspeed_soc_cpu_type(AspeedSoCClass *sc)
> @@ -124,6 +125,28 @@ void aspeed_mmio_map_unimplemented(AspeedSoCState *s, SysBusDevice *dev,
> sysbus_mmio_get_region(dev, 0), -1000);
> }
>
> +void aspeed_board_init_flashes(AspeedSMCState *s, const char *flashtype,
> + unsigned int count, int unit0)
> +{
> + int i;
> +
> + if (!flashtype) {
> + return;
> + }
> +
> + for (i = 0; i < count; ++i) {
> + DriveInfo *dinfo = drive_get(IF_MTD, 0, unit0 + i);
> + DeviceState *dev;
> +
> + dev = qdev_new(flashtype);
> + if (dinfo) {
> + qdev_prop_set_drive(dev, "drive", blk_by_legacy_dinfo(dinfo));
> + }
> + qdev_prop_set_uint8(dev, "cs", i);
> + qdev_realize_and_unref(dev, BUS(s->spi), &error_fatal);
> + }
> +}
> +
> static void aspeed_soc_realize(DeviceState *dev, Error **errp)
> {
> AspeedSoCState *s = ASPEED_SOC(dev);