[U-Boot] [PATCH 2/3] ARM: uniphier: adjust fdt_file environment handling to latest Linux

Masahiro Yamada yamada.masahiro at socionext.com
Mon Oct 17 15:18:02 CEST 2016


The environment fdt_file is useful to remember the appropriate DTB
file name.  Adjust it to the recent renaming in the upstream kernel.

Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---

 arch/arm/mach-uniphier/board_late_init.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-uniphier/board_late_init.c b/arch/arm/mach-uniphier/board_late_init.c
index f23295f..a63b19d 100644
--- a/arch/arm/mach-uniphier/board_late_init.c
+++ b/arch/arm/mach-uniphier/board_late_init.c
@@ -28,15 +28,12 @@ static void nand_denali_wp_disable(void)
 #endif
 }
 
-#define VENDOR_PREFIX		"socionext,"
-#define DTB_FILE_PREFIX		"uniphier-"
-
 static int uniphier_set_fdt_file(void)
 {
 	DECLARE_GLOBAL_DATA_PTR;
 	const char *compat;
 	char dtb_name[256];
-	int buf_len = 256;
+	int buf_len = sizeof(dtb_name);
 
 	if (getenv("fdt_file"))
 		return 0;	/* do nothing if it is already set */
@@ -45,15 +42,13 @@ static int uniphier_set_fdt_file(void)
 	if (!compat)
 		return -EINVAL;
 
-	if (strncmp(compat, VENDOR_PREFIX, strlen(VENDOR_PREFIX)))
+	/* rip off the vendor prefix "socionext,"  */
+	compat = strchr(compat, ',');
+	if (!compat)
 		return -EINVAL;
+	compat++;
 
-	compat += strlen(VENDOR_PREFIX);
-
-	strncat(dtb_name, DTB_FILE_PREFIX, buf_len);
-	buf_len -= strlen(DTB_FILE_PREFIX);
-
-	strncat(dtb_name, compat, buf_len);
+	strncpy(dtb_name, compat, buf_len);
 	buf_len -= strlen(compat);
 
 	strncat(dtb_name, ".dtb", buf_len);
-- 
1.9.1



More information about the U-Boot mailing list