treewide: do board detection during preinit

Do the board detection during preinit to unify it across all targets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
owl
Mathias Kresin 2017-04-07 18:01:17 +02:00
parent ac3e05c5d7
commit 78cf5eed6e
13 changed files with 134 additions and 23 deletions

View File

@ -0,0 +1,12 @@
#!/bin/sh
do_sysinfo_brcm47xx() {
local name="$(sed -ne 's/^machine[ \t]*: //p' /proc/cpuinfo)"
[ -z "$name" ] && name="unknown"
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$name" > /tmp/sysinfo/board_name
echo "unknown" > /tmp/sysinfo/model
}
boot_hook_add preinit_main do_sysinfo_brcm47xx

View File

@ -1,9 +1,9 @@
#!/bin/sh
#
# Copyright (C) 2012 OpenWrt.org
#
cns3xxx_board_name() {
CNS3XXX_BOARD_NAME=
CNS3XXX_MODEL=
cns3xxx_board_detect() {
local machine
local name
@ -17,6 +17,21 @@ cns3xxx_board_name() {
name="generic";
;;
esac
echo $name
[ -z "$CNS3XXX_BOARD_NAME" ] && CNS3XXX_BOARD_NAME="$name"
[ -z "$CNS3XXX_MODEL" ] && CNS3XXX_MODEL="$machine"
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$CNS3XXX_BOARD_NAME" > /tmp/sysinfo/board_name
echo "$CNS3XXX_MODEL" > /tmp/sysinfo/model
}
cns3xxx_board_name() {
local name
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
[ -z "$name" ] && name="unknown"
echo "$name"
}

View File

@ -0,0 +1,9 @@
#!/bin/sh
do_sysinfo_cns3xxx() {
. /lib/cns3xxx.sh
cns3xxx_board_detect
}
boot_hook_add preinit_main do_sysinfo_cns3xxx

View File

@ -75,7 +75,6 @@ imx6_board_detect() {
imx6_board_name() {
local name
[ -f /tmp/sysinfo/board_name ] || imx6_board_detect
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
[ -z "$name" ] && name="unknown"

View File

@ -0,0 +1,9 @@
#!/bin/sh
do_sysinfo_imx6() {
. /lib/imx6.sh
imx6_board_detect
}
boot_hook_add preinit_main do_sysinfo_imx6

View File

@ -3,23 +3,41 @@
# Copyright (C) 2012 OpenWrt.org
#
ixp4xx_board_name() {
local machine
local name
IXP4XX_BOARD_NAME=
IXP4XX_MODEL=
machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /Hardware/ {print $2}' /proc/cpuinfo)
ixp4xx_board_detect() {
local machine
local name
case "$machine" in
"Gateworks Cambria"*)
name="cambria"
;;
"Gateworks Avila"*)
name="avila"
;;
*)
name="generic";
;;
machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /Hardware/ {print $2}' /proc/cpuinfo)
case "$machine" in
"Gateworks Cambria"*)
name="cambria"
;;
"Gateworks Avila"*)
name="avila"
;;
*)
name="generic";
;;
esac
[ -z "$IXP4XX_BOARD_NAME" ] && IXP4XX_BOARD_NAME="$name"
[ -z "$IXP4XX_MODEL" ] && IXP4XX_MODEL="$machine"
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$IXP4XX_BOARD_NAME" > /tmp/sysinfo/board_name
echo "$IXP4XX_MODEL" > /tmp/sysinfo/model
}
ixp4xx_board_name() {
local name
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
[ -z "$name" ] && name="unknown"
echo $name
}

View File

@ -0,0 +1,9 @@
#!/bin/sh
do_sysinfo_ixp4xx() {
. /lib/ixp4xx.sh
ixp4xx_board_detect
}
boot_hook_add preinit_main do_sysinfo_ixp4xx

View File

@ -90,7 +90,6 @@ kirkwood_board_detect() {
kirkwood_board_name() {
local name
[ -f /tmp/sysinfo/board_name ] || kirkwood_board_detect
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
[ -z "$name" ] && name="unknown"

View File

@ -0,0 +1,9 @@
#!/bin/sh
do_sysinfo_kirkwood() {
. /lib/kirkwood.sh
kirkwood_board_detect
}
boot_hook_add preinit_main do_sysinfo_kirkwood

View File

@ -75,7 +75,6 @@ mvebu_board_detect() {
mvebu_board_name() {
local name
[ -f /tmp/sysinfo/board_name ] || mvebu_board_detect
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
[ -z "$name" ] && name="unknown"

View File

@ -0,0 +1,9 @@
#!/bin/sh
do_sysinfo_mvebu() {
. /lib/mvebu.sh
mvebu_board_detect
}
boot_hook_add preinit_main do_sysinfo_mvebu

View File

@ -0,0 +1,12 @@
#!/bin/sh
do_sysinfo_orion() {
local name="$(sed -n /Hardware/s/.*:.//p /proc/cpuinfo)"
[ -z "$name" ] && name="unknown"
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$name" > /tmp/sysinfo/board_name
echo "unknown" > /tmp/sysinfo/model
}
boot_hook_add preinit_main do_sysinfo_orion

View File

@ -0,0 +1,12 @@
#!/bin/sh
do_sysinfo_ppc40x() {
local name="$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /model/ {print $2}' /proc/cpuinfo)"
[ -z "$name" ] && name="unknown"
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$name" > /tmp/sysinfo/board_name
echo "unknown" > /tmp/sysinfo/model
}
boot_hook_add preinit_main do_sysinfo_ppc40x