ramips: enhance user-space board detection

Similar to ar71xx, detect only once and cache the strings in
/tmp/sysinfo/model and /tmp/sysinfo/boardname.

Signed-off-by: Daniel Golle <dgolle@allnet.de>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35850
This commit is contained in:
Gabor Juhos 2013-03-03 12:47:02 +00:00
parent 1ba2272ca5
commit 367ab0a40f
2 changed files with 24 additions and 3 deletions

View file

@ -2,6 +2,8 @@
do_ramips() {
. /lib/ramips.sh
ramips_board_detect
}
boot_hook_add preinit_main do_ramips

View file

@ -1,9 +1,13 @@
#!/bin/sh
#
# Copyright (C) 2010 OpenWrt.org
# Copyright (C) 2010-2013 OpenWrt.org
#
ramips_board_name() {
RAMIPS_BOARD_NAME=
RAMIPS_MODEL=
ramips_board_detect() {
local machine
local name
@ -189,5 +193,20 @@ ramips_board_name() {
;;
esac
echo $name
[ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
[ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name
echo "$RAMIPS_MODEL" > /tmp/sysinfo/model
}
ramips_board_name() {
local name
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
[ -z "$name" ] && name="unknown"
echo "$name"
}