diff options
author | Hannes Schmelzer | 2018-07-06 15:41:25 +0200 |
---|---|---|
committer | Tom Rini | 2018-07-19 17:03:34 -0400 |
commit | d63f7130cea19c5f356ba651f0cbd37a964c1dc6 (patch) | |
tree | c83178b1d0394176283a1e681a861176a50f6c32 /board/BuR/common | |
parent | 1d469866015d8a4bf914428a04cbf8ce3975dac8 (diff) |
board/BuR/common: refactor ft_board_setup(...)
On other OS, not one provided by B&R, it is not guaranteed that there
are factory-settings within a devicetree. So we must not treat the
absence of them as error.
Further we've the fact that on different version of the device-tree
files there are different namings of the factory-settings, we consider
this with searching for an alternative name.
changing things as following:
- don't treat as error if the bootloader version cannot written into
devicetree.
- since the naming of the factory-settings are different in different
versions of the provided device-tree we search for the alternate name
"/fset"
Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Diffstat (limited to 'board/BuR/common')
-rw-r--r-- | board/BuR/common/common.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c index 38da36d50b5..01e30783e2c 100644 --- a/board/BuR/common/common.c +++ b/board/BuR/common/common.c @@ -252,15 +252,20 @@ int ft_board_setup(void *blob, bd_t *bd) nodeoffset = fdt_path_offset(blob, "/factory-settings"); if (nodeoffset < 0) { - puts("set bootloader version 'factory-settings' not in dtb!\n"); - return -1; + printf("%s: cannot find /factory-settings, trying /fset\n", + __func__); + nodeoffset = fdt_path_offset(blob, "/fset"); + if (nodeoffset < 0) { + printf("%s: cannot find /fset.\n", __func__); + return 0; + } } + if (fdt_setprop(blob, nodeoffset, "bl-version", PLAIN_VERSION, strlen(PLAIN_VERSION)) != 0) { - puts("set bootloader version 'bl-version' prop. not in dtb!\n"); - return -1; + printf("%s: no 'bl-version' prop in fdt!\n", __func__); + return 0; } - return 0; } |