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
owl
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() { do_ramips() {
. /lib/ramips.sh . /lib/ramips.sh
ramips_board_detect
} }
boot_hook_add preinit_main do_ramips boot_hook_add preinit_main do_ramips

View File

@ -1,9 +1,13 @@
#!/bin/sh #!/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 machine
local name local name
@ -189,5 +193,20 @@ ramips_board_name() {
;; ;;
esac 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"
} }