[PATCH] ARM: dts: imx: Pass an empty 'chosen' node
flat view
STALE3581d
From: Uwe Kleine-König <hidden>
Date: 2016-12-19 21:53:02
On Mon, Dec 19, 2016 at 07:30:25PM -0200, Fabio Estevam wrote:
quoted hunk ↗ jump to hunk
Hi Uwe, On Mon, Dec 19, 2016 at 4:41 PM, Uwe Kleine-K?nig [off-list ref] wrote:quoted
wouldn't it be better to fix the decompressor code to eventually create the /chosen node when it doesn't exist?Thanks for the suggestion. I don't have a Barebox setup handy, but would the following change fix it as you propose?--- a/arch/arm/boot/compressed/atags_to_fdt.c +++ b/arch/arm/boot/compressed/atags_to_fdt.c@@ -66,13 +66,21 @@ static uint32_t get_cell_size(const void *fdt) return cell_size; } -static void merge_fdt_bootargs(void *fdt, const char *fdt_cmdline) +static int merge_fdt_bootargs(void *fdt, const char *fdt_cmdline) { char cmdline[COMMAND_LINE_SIZE]; const char *fdt_bootargs; char *ptr = cmdline; + int chosen_off; int len = 0; + /* find or add chosen node */ + chosen_off = fdt_path_offset(fdt, "/chosen"); + if (chosen_off == -FDT_ERR_NOTFOUND) + chosen_off = fdt_add_subnode(fdt, 0, "chosen"); + if (chosen_off < 0) + return chosen_off;
I would have done: ret = fdt_add_subnode(fdt, 0, "chosen") if (ret < 0 && ret != -FDT_ERR_EXISTS) return -ESOMETHING; but I don't have the right machine@hand. Will check tomorrow. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |