From beda11255b27d2ec089aae4d8248000f213d323b Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Fri, 29 Jan 2016 23:19:41 +0000
Subject: octeon: get rid of /lib/functions/octeon.sh hackery, use sysinfo
 directly

Fixes sysupgrade

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48558
---
 .../linux/octeon/base-files/etc/board.d/01_network |  5 +--
 .../octeon/base-files/lib/functions/octeon.sh      | 50 ----------------------
 .../linux/octeon/base-files/lib/preinit/20_sysinfo | 31 ++++++++++++++
 .../octeon/base-files/lib/preinit/79_move_config   |  6 +--
 .../octeon/base-files/lib/upgrade/platform.sh      |  8 ++--
 5 files changed, 36 insertions(+), 64 deletions(-)
 delete mode 100755 target/linux/octeon/base-files/lib/functions/octeon.sh
 create mode 100644 target/linux/octeon/base-files/lib/preinit/20_sysinfo

(limited to 'target/linux/octeon/base-files')

diff --git a/target/linux/octeon/base-files/etc/board.d/01_network b/target/linux/octeon/base-files/etc/board.d/01_network
index 3c1e843b6c..851b7e8f18 100755
--- a/target/linux/octeon/base-files/etc/board.d/01_network
+++ b/target/linux/octeon/base-files/etc/board.d/01_network
@@ -4,13 +4,10 @@
 #
 
 . /lib/functions/uci-defaults.sh
-. /lib/functions/octeon.sh
 
 board_config_update
 
-board=$(octeon_board_name)
-
-case "$board" in
+case "$(cat /tmp/sysinfo/board_name)" in
 erlite)
 	ucidef_set_interfaces_lan_wan "eth0" "eth1"
 	;;
diff --git a/target/linux/octeon/base-files/lib/functions/octeon.sh b/target/linux/octeon/base-files/lib/functions/octeon.sh
deleted file mode 100755
index deae9e3778..0000000000
--- a/target/linux/octeon/base-files/lib/functions/octeon.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2010-2013 OpenWrt.org
-#
-
-OCTEON_BOARD_NAME=
-OCTEON_MODEL=
-
-octeon_board_detect() {
-	local machine
-	local name
-
-	machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g")
-
-	case "$machine" in
-	"UBNT_E100"*)
-		name="erlite"
-		;;
-
-	"UBNT_E200"*)
-		name="er"
-		;;
-
-	"UBNT_E220"*)
-		name="erpro"
-		;;
-
-	*)
-		name="generic"
-		;;
-	esac
-
-	[ -z "$OCTEON_BOARD_NAME" ] && OCTEON_BOARD_NAME="$name"
-	[ -z "$OCTEON_MODEL" ] && OCTEON_MODEL="$machine"
-
-	[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
-
-	echo "$OCTEON_BOARD_NAME" > /tmp/sysinfo/board_name
-	echo "$OCTEON_MODEL" > /tmp/sysinfo/model
-}
-
-octeon_board_name() {
-	local name
-
-	[ -f /tmp/sysinfo/board_name ] || octeon_board_detect
-	[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
-	[ -z "$name" ] && name="unknown"
-
-	echo "$name"
-}
diff --git a/target/linux/octeon/base-files/lib/preinit/20_sysinfo b/target/linux/octeon/base-files/lib/preinit/20_sysinfo
new file mode 100644
index 0000000000..d8f467ed27
--- /dev/null
+++ b/target/linux/octeon/base-files/lib/preinit/20_sysinfo
@@ -0,0 +1,31 @@
+do_sysinfo_octeon() {
+	local machine
+	local name
+
+	machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g")
+
+	case "$machine" in
+	"UBNT_E100"*)
+		name="erlite"
+		;;
+
+	"UBNT_E200"*)
+		name="er"
+		;;
+
+	"UBNT_E220"*)
+		name="erpro"
+		;;
+
+	*)
+		name="generic"
+		;;
+	esac
+
+	[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
+
+	echo "$name" > /tmp/sysinfo/board_name
+	echo "$machine" > /tmp/sysinfo/model
+}
+
+boot_hook_add preinit_main do_sysinfo_octeon
diff --git a/target/linux/octeon/base-files/lib/preinit/79_move_config b/target/linux/octeon/base-files/lib/preinit/79_move_config
index 39cefd53db..669999e2e3 100644
--- a/target/linux/octeon/base-files/lib/preinit/79_move_config
+++ b/target/linux/octeon/base-files/lib/preinit/79_move_config
@@ -2,11 +2,7 @@
 # Copyright (C) 2014 OpenWrt.org
 
 move_config() {
-	. /lib/functions/octeon.sh
-
-	local board="$(octeon_board_name)"
-
-	case "$board" in
+	case "$(cat /tmp/sysinfo/board_name)" in
 		erlite)
 			mount -t vfat /dev/sda1 /mnt
 			mv -f /mnt/sysupgrade.tgz /
diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh b/target/linux/octeon/base-files/lib/upgrade/platform.sh
index 4cb03bc984..91763ce1c6 100755
--- a/target/linux/octeon/base-files/lib/upgrade/platform.sh
+++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh
@@ -2,8 +2,6 @@
 # Copyright (C) 2014 OpenWrt.org
 #
 
-. /lib/functions/octeon.sh
-
 platform_get_rootfs() {
 	local rootfsdev
 
@@ -24,7 +22,7 @@ platform_get_rootfs() {
 }
 
 platform_copy_config() {
-	local board="$(octeon_board_name)"
+	local board="$(cat /tmp/sysinfo/board_name)"
 
 	case "$board" in
 	erlite)
@@ -60,7 +58,7 @@ platform_do_flash() {
 
 platform_do_upgrade() {
 	local tar_file="$1"
-	local board=$(octeon_board_name)
+	local board=$(cat /tmp/sysinfo/board_name)
 	local rootfs="$(platform_get_rootfs)"
 	local kernel=
 
@@ -83,7 +81,7 @@ platform_do_upgrade() {
 }
 
 platform_check_image() {
-	local board=$(octeon_board_name)
+	local board=$(cat /tmp/sysinfo/board_name)
 
 	case "$board" in
 	erlite | \
-- 
cgit v1.2.3