From ac3e05c5d757334944fbf1f14583164cd1d69172 Mon Sep 17 00:00:00 2001
From: Mathias Kresin <dev@kresin.me>
Date: Fri, 7 Apr 2017 18:09:08 +0200
Subject: treewide: populate boardname and model earlier

For targets using the generic board detection and board specific
settings in diag.sh, the board name is still unset at the time the
set_state() provided by diag.sh is called by 10_indicate_preinit.

Change the execution order to ensure the boardname is populated before
required the first time. Do the target specific board detection as
early as possible, directly followed by the generic one to allow a
seamless switch to the generic function for populating /tmp/sysinfo/.

Signed-off-by: Mathias Kresin <dev@kresin.me>
---
 target/linux/x86/base-files/lib/preinit/01_sysinfo | 28 ++++++++++++++++++++++
 target/linux/x86/base-files/lib/preinit/20_sysinfo | 28 ----------------------
 2 files changed, 28 insertions(+), 28 deletions(-)
 create mode 100644 target/linux/x86/base-files/lib/preinit/01_sysinfo
 delete mode 100644 target/linux/x86/base-files/lib/preinit/20_sysinfo

(limited to 'target/linux/x86')

diff --git a/target/linux/x86/base-files/lib/preinit/01_sysinfo b/target/linux/x86/base-files/lib/preinit/01_sysinfo
new file mode 100644
index 0000000000..cb63a04014
--- /dev/null
+++ b/target/linux/x86/base-files/lib/preinit/01_sysinfo
@@ -0,0 +1,28 @@
+do_sysinfo_x86() {
+	local vendor product file
+
+	for file in sys_vendor board_vendor; do
+		vendor="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
+		[ -n "$vendor" ] && break
+	done
+
+	for file in product_name board_name; do
+		product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
+		[ -n "$product" ] && break
+	done
+
+	[ -n "$vendor" -a -n "$product" ] || return
+
+	mkdir -p /tmp/sysinfo
+
+	echo "$vendor $product" > /tmp/sysinfo/model
+
+	sed -e '
+		y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;
+		s/[^a-z0-9_-]\+/-/g;
+		s/^-//;
+		s/-$//;
+	' /tmp/sysinfo/model > /tmp/sysinfo/board_name
+}
+
+boot_hook_add preinit_main do_sysinfo_x86
diff --git a/target/linux/x86/base-files/lib/preinit/20_sysinfo b/target/linux/x86/base-files/lib/preinit/20_sysinfo
deleted file mode 100644
index cb63a04014..0000000000
--- a/target/linux/x86/base-files/lib/preinit/20_sysinfo
+++ /dev/null
@@ -1,28 +0,0 @@
-do_sysinfo_x86() {
-	local vendor product file
-
-	for file in sys_vendor board_vendor; do
-		vendor="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
-		[ -n "$vendor" ] && break
-	done
-
-	for file in product_name board_name; do
-		product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
-		[ -n "$product" ] && break
-	done
-
-	[ -n "$vendor" -a -n "$product" ] || return
-
-	mkdir -p /tmp/sysinfo
-
-	echo "$vendor $product" > /tmp/sysinfo/model
-
-	sed -e '
-		y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;
-		s/[^a-z0-9_-]\+/-/g;
-		s/^-//;
-		s/-$//;
-	' /tmp/sysinfo/model > /tmp/sysinfo/board_name
-}
-
-boot_hook_add preinit_main do_sysinfo_x86
-- 
cgit v1.2.3