On Tue, Jul 11, 2017 at 05:10:59PM -0300, Eduardo Habkost wrote: > On Tue, Jul 11, 2017 at 09:02:11PM +0100, Mark Cave-Ayland wrote: > > This will enable the fw_cfg device to be placed anywhere within the QOM tree > > regardless of its machine location. > > > > Note that we also add a comment to document the behaviour that we return > > NULL to > > indicate failure where either no fw_cfg device or multiple fw_cfg devices > > are > > found. > > > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > > --- > > hw/nvram/fw_cfg.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c > > index 99bdbc2..8ef889a 100644 > > --- a/hw/nvram/fw_cfg.c > > +++ b/hw/nvram/fw_cfg.c > > @@ -1017,7 +1017,12 @@ FWCfgState *fw_cfg_init_mem(hwaddr ctl_addr, hwaddr > > data_addr) > > > > FWCfgState *fw_cfg_find(void) > > { > > - return FW_CFG(object_resolve_path(FW_CFG_PATH, NULL)); > > + /* Returns FWCfgState if only one fw_cfg device type exists. If zero or > > + more than one fw_cfg device are found then NULL is returned as per > > the > > + object_resolve_path_type() documentation. This behaviour is correct > > as > > + it ensures that we detect both missing fw_cfg devices and multiple > > + fw_cfg devices which could result in unpredictable behaviour. */ > > + return FW_CFG(object_resolve_path_type("", TYPE_FW_CFG, NULL)); > > } > > I believe a one-line "returns NULL unless there is exactly one > fw_cfg device" (similar to the one at find_vmgenid_dev()) would > suffice. :)
Multi-line comments also should formatted /* * like * this */ not /* like * this */ > -- > Eduardo