On 2018-09-21 at 15:13:32 +0400, Marc-André Lureau wrote: Thanks for the improvemnet.
Reviewed-by: Zhang Yi <yi.z.zh...@linux.intel.com> > Put into use the macros proposed in the previous Object documentation change. > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > include/hw/mem/nvdimm.h | 1 + > hw/acpi/ich9.c | 2 +- > hw/acpi/nvdimm.c | 2 +- > hw/acpi/piix4.c | 2 +- > hw/i386/pc.c | 8 +++----- > hw/mem/pc-dimm.c | 2 +- > 6 files changed, 8 insertions(+), 9 deletions(-) > > diff --git a/include/hw/mem/nvdimm.h b/include/hw/mem/nvdimm.h > index c5c9b3c7f8..e56be1d492 100644 > --- a/include/hw/mem/nvdimm.h > +++ b/include/hw/mem/nvdimm.h > @@ -47,6 +47,7 @@ > #define NVDIMM_CLASS(oc) OBJECT_CLASS_CHECK(NVDIMMClass, (oc), TYPE_NVDIMM) > #define NVDIMM_GET_CLASS(obj) OBJECT_GET_CLASS(NVDIMMClass, (obj), \ > TYPE_NVDIMM) > +#define IS_NVDIMM(obj) object_dynamic_cast(OBJECT(obj), TYPE_NVDIMM) > > #define NVDIMM_LABEL_SIZE_PROP "label-size" > #define NVDIMM_UNARMED_PROP "unarmed" > diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c > index c5d8646abc..b6fd20fd5a 100644 > --- a/hw/acpi/ich9.c > +++ b/hw/acpi/ich9.c > @@ -490,7 +490,7 @@ void ich9_pm_device_plug_cb(HotplugHandler *hotplug_dev, > DeviceState *dev, > > if (lpc->pm.acpi_memory_hotplug.is_enabled && > object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) { > - if (object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM)) { > + if (IS_NVDIMM(dev)) { > nvdimm_acpi_plug_cb(hotplug_dev, dev); > } else { > acpi_memory_plug_cb(hotplug_dev, &lpc->pm.acpi_memory_hotplug, > diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c > index 27eeb6609f..03ba0402af 100644 > --- a/hw/acpi/nvdimm.c > +++ b/hw/acpi/nvdimm.c > @@ -37,7 +37,7 @@ static int nvdimm_device_list(Object *obj, void *opaque) > { > GSList **list = opaque; > > - if (object_dynamic_cast(obj, TYPE_NVDIMM)) { > + if (IS_NVDIMM(obj)) { > *list = g_slist_append(*list, DEVICE(obj)); > } > > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c > index e330f24c71..de1ae0360a 100644 > --- a/hw/acpi/piix4.c > +++ b/hw/acpi/piix4.c > @@ -377,7 +377,7 @@ static void piix4_device_plug_cb(HotplugHandler > *hotplug_dev, > > if (s->acpi_memory_hotplug.is_enabled && > object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) { > - if (object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM)) { > + if (IS_NVDIMM(dev)) { > nvdimm_acpi_plug_cb(hotplug_dev, dev); > } else { > acpi_memory_plug_cb(hotplug_dev, &s->acpi_memory_hotplug, > diff --git a/hw/i386/pc.c b/hw/i386/pc.c > index 03148450c8..7addf05197 100644 > --- a/hw/i386/pc.c > +++ b/hw/i386/pc.c > @@ -1680,7 +1680,6 @@ static void pc_memory_pre_plug(HotplugHandler > *hotplug_dev, DeviceState *dev, > { > const PCMachineState *pcms = PC_MACHINE(hotplug_dev); > const PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms); > - const bool is_nvdimm = object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM); > const uint64_t legacy_align = TARGET_PAGE_SIZE; > > /* > @@ -1694,7 +1693,7 @@ static void pc_memory_pre_plug(HotplugHandler > *hotplug_dev, DeviceState *dev, > return; > } > > - if (is_nvdimm && !pcms->acpi_nvdimm_state.is_enabled) { > + if (IS_NVDIMM(dev) && !pcms->acpi_nvdimm_state.is_enabled) { > error_setg(errp, "nvdimm is not enabled: missing 'nvdimm' in '-M'"); > return; > } > @@ -1709,14 +1708,13 @@ static void pc_memory_plug(HotplugHandler > *hotplug_dev, > HotplugHandlerClass *hhc; > Error *local_err = NULL; > PCMachineState *pcms = PC_MACHINE(hotplug_dev); > - bool is_nvdimm = object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM); > > pc_dimm_plug(dev, MACHINE(pcms), &local_err); > if (local_err) { > goto out; > } > > - if (is_nvdimm) { > + if (IS_NVDIMM(dev)) { > nvdimm_plug(&pcms->acpi_nvdimm_state); > } > > @@ -1744,7 +1742,7 @@ static void pc_memory_unplug_request(HotplugHandler > *hotplug_dev, > goto out; > } > > - if (object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM)) { > + if (IS_NVDIMM(dev)) { > error_setg(&local_err, > "nvdimm device hot unplug is not supported yet."); > goto out; > diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c > index fb6bcaedc4..e25762dbda 100644 > --- a/hw/mem/pc-dimm.c > +++ b/hw/mem/pc-dimm.c > @@ -272,7 +272,7 @@ static void pc_dimm_md_fill_device_info(const > MemoryDeviceState *md, > NULL); > di->memdev = object_get_canonical_path(OBJECT(dimm->hostmem)); > > - if (object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM)) { > + if (IS_NVDIMM(dev)) { > info->u.nvdimm.data = di; > info->type = MEMORY_DEVICE_INFO_KIND_NVDIMM; > } else { > -- > 2.19.0 > >