@@ -151,8 +151,19 @@ static int fdt_qportal(void *blob, int off, int id, char *name,
dev_handle = fdt_get_phandle(blob, dev_off);
if (dev_handle <= 0) {
dev_handle = fdt_alloc_phandle(blob);
- fdt_setprop_cell(blob, dev_off,
+ ret = fdt_setprop_cell(blob, dev_off,
+ "phandle", dev_handle);
+ if (ret < 0)
+ return ret;
+ /*
+ * For now, also set the deprecated
+ * "linux,phandle" property, so that we don't
+ * break older kernels.
+ */
+ ret = fdt_setprop_cell(blob, dev_off,
"linux,phandle", dev_handle);
+ if (ret < 0)
+ return ret;
}
ret = fdt_setprop(blob, childoff, "dev-handle",
The ePAPR specification says that phandle properties should be called "phandle", and not "linux,phandle". To facilitate the migration from "linux,phandle" to "phandle", we update fdt_qportal() to support both properties. Signed-off-by: Timur Tabi <timur@freescale.com> --- arch/powerpc/cpu/mpc85xx/portals.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)