Skip to content

Commit 78cf5ee

Browse files
committed
treewide: do board detection during preinit
Do the board detection during preinit to unify it across all targets. Signed-off-by: Mathias Kresin <[email protected]>
1 parent ac3e05c commit 78cf5ee

File tree

13 files changed

+136
-25
lines changed

13 files changed

+136
-25
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/sh
2+
3+
do_sysinfo_brcm47xx() {
4+
local name="$(sed -ne 's/^machine[ \t]*: //p' /proc/cpuinfo)"
5+
[ -z "$name" ] && name="unknown"
6+
7+
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
8+
echo "$name" > /tmp/sysinfo/board_name
9+
echo "unknown" > /tmp/sysinfo/model
10+
}
11+
12+
boot_hook_add preinit_main do_sysinfo_brcm47xx
Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#!/bin/sh
2-
#
3-
# Copyright (C) 2012 OpenWrt.org
4-
#
52

6-
cns3xxx_board_name() {
3+
CNS3XXX_BOARD_NAME=
4+
CNS3XXX_MODEL=
5+
6+
cns3xxx_board_detect() {
77
local machine
88
local name
99

@@ -17,6 +17,21 @@ cns3xxx_board_name() {
1717
name="generic";
1818
;;
1919
esac
20-
21-
echo $name
20+
21+
[ -z "$CNS3XXX_BOARD_NAME" ] && CNS3XXX_BOARD_NAME="$name"
22+
[ -z "$CNS3XXX_MODEL" ] && CNS3XXX_MODEL="$machine"
23+
24+
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
25+
26+
echo "$CNS3XXX_BOARD_NAME" > /tmp/sysinfo/board_name
27+
echo "$CNS3XXX_MODEL" > /tmp/sysinfo/model
28+
}
29+
30+
cns3xxx_board_name() {
31+
local name
32+
33+
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
34+
[ -z "$name" ] && name="unknown"
35+
36+
echo "$name"
2237
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
3+
do_sysinfo_cns3xxx() {
4+
. /lib/cns3xxx.sh
5+
6+
cns3xxx_board_detect
7+
}
8+
9+
boot_hook_add preinit_main do_sysinfo_cns3xxx

target/linux/imx6/base-files/lib/imx6.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ imx6_board_detect() {
7575
imx6_board_name() {
7676
local name
7777

78-
[ -f /tmp/sysinfo/board_name ] || imx6_board_detect
7978
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
8079
[ -z "$name" ] && name="unknown"
8180

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
3+
do_sysinfo_imx6() {
4+
. /lib/imx6.sh
5+
6+
imx6_board_detect
7+
}
8+
9+
boot_hook_add preinit_main do_sysinfo_imx6

target/linux/ixp4xx/base-files/lib/ixp4xx.sh

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,41 @@
33
# Copyright (C) 2012 OpenWrt.org
44
#
55

6-
ixp4xx_board_name() {
7-
local machine
8-
local name
9-
10-
machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /Hardware/ {print $2}' /proc/cpuinfo)
11-
12-
case "$machine" in
13-
"Gateworks Cambria"*)
14-
name="cambria"
15-
;;
16-
"Gateworks Avila"*)
17-
name="avila"
18-
;;
19-
*)
20-
name="generic";
21-
;;
6+
IXP4XX_BOARD_NAME=
7+
IXP4XX_MODEL=
8+
9+
ixp4xx_board_detect() {
10+
local machine
11+
local name
12+
13+
machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /Hardware/ {print $2}' /proc/cpuinfo)
14+
15+
case "$machine" in
16+
"Gateworks Cambria"*)
17+
name="cambria"
18+
;;
19+
"Gateworks Avila"*)
20+
name="avila"
21+
;;
22+
*)
23+
name="generic";
24+
;;
2225
esac
2326

27+
[ -z "$IXP4XX_BOARD_NAME" ] && IXP4XX_BOARD_NAME="$name"
28+
[ -z "$IXP4XX_MODEL" ] && IXP4XX_MODEL="$machine"
29+
30+
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
31+
32+
echo "$IXP4XX_BOARD_NAME" > /tmp/sysinfo/board_name
33+
echo "$IXP4XX_MODEL" > /tmp/sysinfo/model
34+
}
35+
36+
ixp4xx_board_name() {
37+
local name
38+
39+
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
40+
[ -z "$name" ] && name="unknown"
41+
2442
echo $name
2543
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
3+
do_sysinfo_ixp4xx() {
4+
. /lib/ixp4xx.sh
5+
6+
ixp4xx_board_detect
7+
}
8+
9+
boot_hook_add preinit_main do_sysinfo_ixp4xx

target/linux/kirkwood/base-files/lib/kirkwood.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ kirkwood_board_detect() {
9090
kirkwood_board_name() {
9191
local name
9292

93-
[ -f /tmp/sysinfo/board_name ] || kirkwood_board_detect
9493
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
9594
[ -z "$name" ] && name="unknown"
9695

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
3+
do_sysinfo_kirkwood() {
4+
. /lib/kirkwood.sh
5+
6+
kirkwood_board_detect
7+
}
8+
9+
boot_hook_add preinit_main do_sysinfo_kirkwood

target/linux/mvebu/base-files/lib/mvebu.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ mvebu_board_detect() {
7575
mvebu_board_name() {
7676
local name
7777

78-
[ -f /tmp/sysinfo/board_name ] || mvebu_board_detect
7978
[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
8079
[ -z "$name" ] && name="unknown"
8180

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
3+
do_sysinfo_mvebu() {
4+
. /lib/mvebu.sh
5+
6+
mvebu_board_detect
7+
}
8+
9+
boot_hook_add preinit_main do_sysinfo_mvebu
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/sh
2+
3+
do_sysinfo_orion() {
4+
local name="$(sed -n /Hardware/s/.*:.//p /proc/cpuinfo)"
5+
[ -z "$name" ] && name="unknown"
6+
7+
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
8+
echo "$name" > /tmp/sysinfo/board_name
9+
echo "unknown" > /tmp/sysinfo/model
10+
}
11+
12+
boot_hook_add preinit_main do_sysinfo_orion
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/sh
2+
3+
do_sysinfo_ppc40x() {
4+
local name="$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /model/ {print $2}' /proc/cpuinfo)"
5+
[ -z "$name" ] && name="unknown"
6+
7+
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
8+
echo "$name" > /tmp/sysinfo/board_name
9+
echo "unknown" > /tmp/sysinfo/model
10+
}
11+
12+
boot_hook_add preinit_main do_sysinfo_ppc40x

0 commit comments

Comments
 (0)