On 1/28/21 1:46 AM, Joel Stanley wrote: > On Tue, 26 Jan 2021 at 17:14, Cédric Le Goater <c...@kaod.org> wrote: >> >> and reuse pnv_bmc_set_pnor() to share the setting of the PNOR. >> >> Signed-off-by: Cédric Le Goater <c...@kaod.org> >> --- >> hw/ppc/pnv_bmc.c | 7 +------ >> 1 file changed, 1 insertion(+), 6 deletions(-) >> >> diff --git a/hw/ppc/pnv_bmc.c b/hw/ppc/pnv_bmc.c >> index 67ebb16c4d5f..86d16b493539 100644 >> --- a/hw/ppc/pnv_bmc.c >> +++ b/hw/ppc/pnv_bmc.c >> @@ -260,13 +260,8 @@ IPMIBmc *pnv_bmc_create(PnvPnor *pnor) >> Object *obj; >> >> obj = object_new(TYPE_IPMI_BMC_SIMULATOR); >> - object_ref(OBJECT(pnor)); >> - object_property_add_const_link(obj, "pnor", OBJECT(pnor)); > > I assume it's ok to move the link set to after the realise of the BMC object?
When 2 objects need to be linked, one has to be realized first. I suppose this is why it is allowed but I am not expert in that area. Greg ? That was the case already when defining a "ipmi-bmc-sim" device on the command line. C. >> qdev_realize(DEVICE(obj), NULL, &error_fatal); >> - >> - /* Install the HIOMAP protocol handlers to access the PNOR */ >> - ipmi_sim_register_netfn(IPMI_BMC_SIMULATOR(obj), IPMI_NETFN_OEM, >> - &hiomap_netfn); >> + pnv_bmc_set_pnor(IPMI_BMC(obj), pnor); >> >> return IPMI_BMC(obj); >> } >> -- >> 2.26.2 >> >>