@@ -45,7 +45,7 @@
#include "sysemu/block-backend.h"
#include "hw/block/flash.h"
-static void virt_flash_create(LoongArchMachineState *lams)
+static DeviceState *virt_flash_create(LoongArchMachineState *lams)
{
DeviceState *dev = qdev_new(TYPE_PFLASH_CFI01);
@@ -62,14 +62,13 @@ static void virt_flash_create(LoongArchMachineState *lams)
object_property_add_alias(OBJECT(lams), "pflash",
OBJECT(dev), "drive");
- lams->flash = PFLASH_CFI01(dev);
+ return dev;
}
static void virt_flash_map(LoongArchMachineState *lams,
MemoryRegion *sysmem)
{
- PFlashCFI01 *flash = lams->flash;
- DeviceState *dev = DEVICE(flash);
+ DeviceState *dev = lams->flash;
hwaddr base = VIRT_FLASH_BASE;
hwaddr size = VIRT_FLASH_SIZE;
@@ -899,7 +898,7 @@ static void loongarch_machine_initfn(Object *obj)
lams->acpi = ON_OFF_AUTO_AUTO;
lams->oem_id = g_strndup(ACPI_BUILD_APPNAME6, 6);
lams->oem_table_id = g_strndup(ACPI_BUILD_APPNAME8, 8);
- virt_flash_create(lams);
+ lams->flash = virt_flash_create(lams);
}
static bool memhp_type_supported(DeviceState *dev)
@@ -12,7 +12,6 @@
#include "hw/boards.h"
#include "qemu/queue.h"
#include "hw/intc/loongarch_ipi.h"
-#include "hw/block/flash.h"
#define LOONGARCH_MAX_VCPUS 4
@@ -52,7 +51,7 @@ struct LoongArchMachineState {
int fdt_size;
DeviceState *platform_bus_dev;
PCIBus *pci_bus;
- PFlashCFI01 *flash;
+ DeviceState *flash;
};
#define TYPE_LOONGARCH_MACHINE MACHINE_TYPE_NAME("virt")
Nothing here requires access to PFlashCFI01 internal fields: use the inherited generic DeviceState. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/loongarch/virt.c | 9 ++++----- include/hw/loongarch/virt.h | 3 +-- 2 files changed, 5 insertions(+), 7 deletions(-)