From: Cédric Le Goater <c...@kaod.org> Some PnvXScomInterface objects lie a bit deeper (PnvPBCQState) than the first layer, so we need to loop on the whole object hierarchy to catch them.
Signed-off-by: Cédric Le Goater <c...@kaod.org> Message-Id: <20191210135845.19773-2-...@kaod.org> Reviewed-by: Greg Kurz <gr...@kaod.org> [dwg: Corrected error in comment] Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> --- hw/ppc/pnv_xscom.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/ppc/pnv_xscom.c b/hw/ppc/pnv_xscom.c index b3d3b6e350..760571037b 100644 --- a/hw/ppc/pnv_xscom.c +++ b/hw/ppc/pnv_xscom.c @@ -358,7 +358,12 @@ int pnv_dt_xscom(PnvChip *chip, void *fdt, int root_offset) args.fdt = fdt; args.xscom_offset = xscom_offset; - object_child_foreach(OBJECT(chip), xscom_dt_child, &args); + /* + * Loop on the whole object hierarchy to catch all + * PnvXScomInterface objects which can lie a bit deeper than the + * first layer. + */ + object_child_foreach_recursive(OBJECT(chip), xscom_dt_child, &args); return 0; } -- 2.23.0