On Mon, Jan 9, 2023 at 10:24 PM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> Nothing here requires access to PFlashCFI01 internal fields:
> use the inherited generic DeviceState.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> hw/riscv/virt.c | 9 +++++----
> include/hw/riscv/virt.h | 3 +--
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
> index aa8db65685..a2cd174599 100644
> --- a/hw/riscv/virt.c
> +++ b/hw/riscv/virt.c
> @@ -46,6 +46,7 @@
> #include "sysemu/sysemu.h"
> #include "sysemu/kvm.h"
> #include "sysemu/tpm.h"
> +#include "hw/block/flash.h"
> #include "hw/pci/pci.h"
> #include "hw/pci-host/gpex.h"
> #include "hw/display/ramfb.h"
> @@ -106,7 +107,7 @@ static MemMapEntry virt_high_pcie_memmap;
>
> #define VIRT_FLASH_SECTOR_SIZE (256 * KiB)
>
> -static PFlashCFI01 *virt_flash_create1(RISCVVirtState *s,
> +static DeviceState *virt_flash_create1(RISCVVirtState *s,
> const char *name,
> const char *alias_prop_name)
> {
> @@ -130,7 +131,7 @@ static PFlashCFI01 *virt_flash_create1(RISCVVirtState *s,
> object_property_add_alias(OBJECT(s), alias_prop_name,
> OBJECT(dev), "drive");
>
> - return PFLASH_CFI01(dev);
> + return dev;
> }
>
> static void virt_flash_create(RISCVVirtState *s)
> @@ -139,7 +140,7 @@ static void virt_flash_create(RISCVVirtState *s)
> s->flash[1] = virt_flash_create1(s, "virt.flash1", "pflash1");
> }
>
> -static void virt_flash_map1(PFlashCFI01 *flash,
> +static void virt_flash_map1(DeviceState *flash,
> hwaddr base, hwaddr size,
> MemoryRegion *sysmem)
> {
> @@ -1514,7 +1515,7 @@ static void virt_machine_init(MachineState *machine)
>
> for (i = 0; i < ARRAY_SIZE(s->flash); i++) {
> /* Map legacy -drive if=pflash to machine properties */
> - pflash_cfi01_legacy_drive(DEVICE(s->flash[i]),
> + pflash_cfi01_legacy_drive(s->flash[i],
> drive_get(IF_PFLASH, 0, i));
> }
> virt_flash_map(s, system_memory);
> diff --git a/include/hw/riscv/virt.h b/include/hw/riscv/virt.h
> index 3407c9e8dd..2be47547ac 100644
> --- a/include/hw/riscv/virt.h
> +++ b/include/hw/riscv/virt.h
> @@ -21,7 +21,6 @@
>
> #include "hw/riscv/riscv_hart.h"
> #include "hw/sysbus.h"
> -#include "hw/block/flash.h"
> #include "qom/object.h"
>
> #define VIRT_CPUS_MAX_BITS 9
> @@ -49,7 +48,7 @@ struct RISCVVirtState {
> DeviceState *platform_bus_dev;
> RISCVHartArrayState soc[VIRT_SOCKETS_MAX];
> DeviceState *irqchip[VIRT_SOCKETS_MAX];
> - PFlashCFI01 *flash[2];
> + DeviceState *flash[2];
> FWCfgState *fw_cfg;
>
> int fdt_size;
> --
> 2.38.1
>
>