On 2/20/19 1:51 AM, Wei Yang wrote:
> nvdimm_realize is used to prepare its memory region, while this is done
> in pre_plug stage.
Via the device parent:
pc_dimm_pre_plug()
-> memory_device_pre_plug()
-> MemoryDeviceClass::get_memory_region()
nvdimm_md_get_memory_region()
>
> This is time to remove it.
>
> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> ---
> v2: split nvdimm part here
> ---
> hw/mem/nvdimm.c | 11 -----------
> 1 file changed, 11 deletions(-)
>
> diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
> index bf2adf5e16..8f69576926 100644
> --- a/hw/mem/nvdimm.c
> +++ b/hw/mem/nvdimm.c
> @@ -136,15 +136,6 @@ static MemoryRegion *nvdimm_md_get_memory_region(MemoryDeviceState *md,
> return nvdimm->nvdimm_mr;
> }
>
> -static void nvdimm_realize(PCDIMMDevice *dimm, Error **errp)
> -{
> - NVDIMMDevice *nvdimm = NVDIMM(dimm);
> -
> - if (!nvdimm->nvdimm_mr) {
> - nvdimm_prepare_memory_region(nvdimm, errp);
> - }
> -}
> -
> /*
> * the caller should check the input parameters before calling
> * label read/write functions.
> @@ -192,12 +183,10 @@ static Property nvdimm_properties[] = {
>
> static void nvdimm_class_init(ObjectClass *oc, void *data)
> {
> - PCDIMMDeviceClass *ddc = PC_DIMM_CLASS(oc);
> MemoryDeviceClass *mdc = MEMORY_DEVICE_CLASS(oc);
> NVDIMMClass *nvc = NVDIMM_CLASS(oc);
> DeviceClass *dc = DEVICE_CLASS(oc);
>
> - ddc->realize = nvdimm_realize;
> mdc->get_memory_region = nvdimm_md_get_memory_region;
> dc->props = nvdimm_properties;
>
>