hw/arm/aspeed: Move aspeed_board_init_flashes() to common SoC code
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> Link: https://lore.kernel.org/qemu-devel/20250925050535.2657256-2-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
d43f6db654
commit
f821557f4f
2 changed files with 23 additions and 22 deletions
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue