aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2017-12-17 15:00:01 +0100
committerMathias Kresin <dev@kresin.me>2017-12-21 01:05:16 +0100
commite90dc8d27221bf00daa7c49a986cc0bac6f2e070 (patch)
treef3b03ca8167cc341b800a5f87da55d08f52c2683
parent213ba77359191d6e3053119a8eb8f1e924aa2cb4 (diff)
downloadupstream-e90dc8d27221bf00daa7c49a986cc0bac6f2e070.tar.gz
upstream-e90dc8d27221bf00daa7c49a986cc0bac6f2e070.tar.bz2
upstream-e90dc8d27221bf00daa7c49a986cc0bac6f2e070.zip
apm821xx: convert to device-tree board detection
This patch converts all apm821xx devices to the device-tree board-detection method. All instances of the legacy boardnames (mbl,mr24,...) are converted to "vendor,device" identifier. The custom board-detection code in apm821xx.sh is removed as it no longer serves any purpose. Signed-off-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
-rwxr-xr-xtarget/linux/apm821xx/base-files/etc/board.d/01_leds9
-rwxr-xr-xtarget/linux/apm821xx/base-files/etc/board.d/02_network9
-rw-r--r--target/linux/apm821xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom4
-rwxr-xr-xtarget/linux/apm821xx/base-files/lib/apm821xx.sh43
-rw-r--r--target/linux/apm821xx/base-files/lib/preinit/01_preinit_do_apm821xx.sh9
-rw-r--r--target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx4
-rw-r--r--target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx2
-rw-r--r--target/linux/apm821xx/base-files/lib/preinit/79_move_config18
-rwxr-xr-xtarget/linux/apm821xx/base-files/lib/upgrade/platform.sh15
-rw-r--r--target/linux/apm821xx/image/Makefile9
10 files changed, 41 insertions, 81 deletions
diff --git a/target/linux/apm821xx/base-files/etc/board.d/01_leds b/target/linux/apm821xx/base-files/etc/board.d/01_leds
index 3b5fb721ae..c218efa49b 100755
--- a/target/linux/apm821xx/base-files/etc/board.d/01_leds
+++ b/target/linux/apm821xx/base-files/etc/board.d/01_leds
@@ -7,7 +7,7 @@ board_config_update
board=$(board_name)
case "$board" in
-mr24)
+meraki,mr24)
ucidef_set_led_netdev "wan" "WAN" "mr24:green:wan" "eth0"
ucidef_set_led_wlan "wlan1" "WLAN1" "mr24:green:wifi1" "phy0assoc"
ucidef_set_led_wlan "wlan2" "WLAN2" "mr24:green:wifi2" "phy0assoc"
@@ -15,7 +15,7 @@ mr24)
ucidef_set_led_wlan "wlan4" "WLAN4" "mr24:green:wifi4" "phy0tpt"
;;
-mx60)
+meraki,mx60)
ucidef_set_led_switch "wan" "WAN" "mx60:green:wan" "switch0" "0x20"
ucidef_set_led_switch "lan1" "LAN1" "mx60:green:lan1" "switch0" "0x10"
ucidef_set_led_switch "lan2" "LAN2" "mx60:green:lan2" "switch0" "0x08"
@@ -23,11 +23,12 @@ mx60)
ucidef_set_led_switch "lan4" "LAN4" "mx60:green:lan4" "switch0" "0x02"
;;
-mbl)
+wd,mybooklive|\
+wd,mybooklive-duo)
ucidef_set_led_ide "sata" "SATA" "mbl:blue:power"
;;
-wndr4700)
+netgear,wndr4700)
ucidef_set_led_ide "sata" "SATA" "wndr4700:green:hd"
ucidef_set_led_switch "wan_green" "WAN (green)" "wndr4700:green:wan" "switch0" "0x20"
ucidef_set_led_netdev "wan_yellow" "WAN (yellow)" "wndr4700:yellow:wan" "eth0.2" "tx rx"
diff --git a/target/linux/apm821xx/base-files/etc/board.d/02_network b/target/linux/apm821xx/base-files/etc/board.d/02_network
index 03df7cb49f..6f4456e8a1 100755
--- a/target/linux/apm821xx/base-files/etc/board.d/02_network
+++ b/target/linux/apm821xx/base-files/etc/board.d/02_network
@@ -8,13 +8,14 @@ board_config_update
board=$(board_name)
case "$board" in
-mbl|\
-mr24)
+meraki,mr24|\
+wd,mybooklive|\
+wd,mybooklive-duo)
ucidef_set_interface_lan "eth0"
;;
-mx60|\
-wndr4700)
+meraki,mx60|\
+netgear,wndr4700)
ucidef_add_switch "switch0" \
"0@eth0" "4:lan" "3:lan" "2:lan" "1:lan" "5:wan"
;;
diff --git a/target/linux/apm821xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/apm821xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index 4a7e1c0b19..7a13a0afa8 100644
--- a/target/linux/apm821xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/apm821xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -52,7 +52,7 @@ board=$(board_name)
case "$FIRMWARE" in
"pci_wmac0.eeprom")
case $board in
- wndr4700)
+ netgear,wndr4700)
. /lib/upgrade/nand.sh
if [ -n "$(nand_find_volume ubi0 caldata)" ]; then
@@ -70,7 +70,7 @@ case "$FIRMWARE" in
"pci_wmac1.eeprom")
case $board in
- wndr4700)
+ netgear,wndr4700)
. /lib/upgrade/nand.sh
if [ -n "$(nand_find_volume ubi0 caldata)" ]; then
diff --git a/target/linux/apm821xx/base-files/lib/apm821xx.sh b/target/linux/apm821xx/base-files/lib/apm821xx.sh
deleted file mode 100755
index 8f0814b296..0000000000
--- a/target/linux/apm821xx/base-files/lib/apm821xx.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-APM821XX_BOARD_NAME=
-APM821XX_MODEL=
-
-apm821xx_board_detect() {
- local model
- local name
-
- model=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /model/ {print $2}' /proc/cpuinfo)
-
- case "$model" in
- *"Meraki MR24 Access Point")
- name="mr24"
- ;;
-
- *"Meraki MX60/MX60W Security Appliance")
- name="mx60"
- ;;
-
- *"MyBook Live"*)
- name="mbl"
- ;;
-
- *"Netgear WNDR4700/WNDR4720 Series")
- name="wndr4700"
- ;;
-
- *)
- name="unknown"
- ;;
- esac
-
- [ -z "$name" ] && name="unknown"
-
- [ -z "$APM821XX_BOARD_NAME" ] && APM821XX_BOARD_NAME="$name"
- [ -z "$APM821XX_MODEL" ] && APM821XX_MODEL="$model"
-
- [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
-
- echo "$APM821XX_BOARD_NAME" > /tmp/sysinfo/board_name
- echo "$APM821XX_MODEL" > /tmp/sysinfo/model
-}
diff --git a/target/linux/apm821xx/base-files/lib/preinit/01_preinit_do_apm821xx.sh b/target/linux/apm821xx/base-files/lib/preinit/01_preinit_do_apm821xx.sh
deleted file mode 100644
index 5675357533..0000000000
--- a/target/linux/apm821xx/base-files/lib/preinit/01_preinit_do_apm821xx.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-do_apm821xx() {
- . /lib/apm821xx.sh
-
- apm821xx_board_detect
-}
-
-boot_hook_add preinit_main do_apm821xx
diff --git a/target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx b/target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx
index ec540feb84..1a27930d24 100644
--- a/target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx
+++ b/target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx
@@ -4,8 +4,8 @@ preinit_set_mac_address() {
. /lib/functions.sh
case $(board_name) in
- mr24|\
- mx60)
+ meraki,mr24|\
+ meraki,mx60)
mac_lan=$(mtd_get_mac_binary_ubi board-config 102)
[ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
;;
diff --git a/target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx b/target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx
index 97ef6dc68f..a15a055a25 100644
--- a/target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx
+++ b/target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx
@@ -1,7 +1,5 @@
#!/bin/sh
-. /lib/apm821xx.sh
-
apm821xx_set_preinit_iface() {
ifname=eth0
}
diff --git a/target/linux/apm821xx/base-files/lib/preinit/79_move_config b/target/linux/apm821xx/base-files/lib/preinit/79_move_config
index 3ca8b0a71c..5d33feb916 100644
--- a/target/linux/apm821xx/base-files/lib/preinit/79_move_config
+++ b/target/linux/apm821xx/base-files/lib/preinit/79_move_config
@@ -5,12 +5,18 @@ BOOTPART=/dev/sda1
move_config() {
. /lib/functions.sh
- [ "$(board_name)" = "mbl" ] || return
- if [ -b $BOOTPART ]; then
- mkdir -p /boot
- mount -t ext4 -o rw,noatime $BOOTPART /boot
- [ -f /boot/sysupgrade.tgz ] && mv -f /boot/sysupgrade.tgz /
- fi
+ case "$(board_name)" in
+ wd,mybooklive|\
+ wd,mybooklive-duo)
+ if [ -b $BOOTPART ]; then
+ mkdir -p /boot
+ mount -t ext4 -o rw,noatime $BOOTPART /boot
+ [ -f /boot/sysupgrade.tgz ] && mv -f /boot/sysupgrade.tgz /
+ fi
+ ;;
+ *)
+ ;;
+ esac
}
boot_hook_add preinit_mount_root move_config
diff --git a/target/linux/apm821xx/base-files/lib/upgrade/platform.sh b/target/linux/apm821xx/base-files/lib/upgrade/platform.sh
index 7c9c413b42..5d2eee4ca3 100755
--- a/target/linux/apm821xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/apm821xx/base-files/lib/upgrade/platform.sh
@@ -7,7 +7,8 @@ platform_check_image() {
local board=$(board_name)
case "$board" in
- mbl)
+ wd,mybooklive|\
+ wd,mybooklive-duo)
mbl_do_platform_check "$1"
return $?;
;;
@@ -21,9 +22,9 @@ platform_pre_upgrade() {
local board=$(board_name)
case "$board" in
- mr24|\
- mx60|\
- wndr4700)
+ meraki,mr24|\
+ meraki,mx60|\
+ netgear,wndr4700)
nand_do_upgrade "$1"
;;
@@ -36,7 +37,8 @@ platform_do_upgrade() {
local board=$(board_name)
case "$board" in
- mbl)
+ wd,mybooklive|\
+ wd,mybooklive-duo)
mbl_do_upgrade "$ARGV"
;;
@@ -50,7 +52,8 @@ platform_copy_config() {
local board=$(board_name)
case "$board" in
- mbl)
+ wd,mybooklive|\
+ wd,mybooklive-duo)
mbl_copy_config
;;
diff --git a/target/linux/apm821xx/image/Makefile b/target/linux/apm821xx/image/Makefile
index 60f9fcda89..c012906eaf 100644
--- a/target/linux/apm821xx/image/Makefile
+++ b/target/linux/apm821xx/image/Makefile
@@ -14,7 +14,7 @@ define Device/Default
KERNEL_ENTRY := 0x00000000
KERNEL_LOADADDR := 0x00000000
DEVICE_DTS_DIR := ../dts
- SUPPORTED_DEVICES = $$(BOARD_NAME)
+ SUPPORTED_DEVICES = $(subst _,$(comma),$(1))
endef
define Build/dtb
@@ -84,6 +84,7 @@ define Device/meraki_mr24
MerakiNAND
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
UBINIZE_OPTS := -E 5
+ SUPPORTED_DEVICES += mr24
endef
TARGET_DEVICES += meraki_mr24
@@ -109,6 +110,7 @@ define Device/meraki_mx60
MerakiNAND
IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
UBINIZE_OPTS := -E 5
+ SUPPORTED_DEVICES += mx60
endef
TARGET_DEVICES += meraki_mx60
@@ -176,6 +178,7 @@ define Device/netgear_wndr4700
NETGEAR_BOARD_ID := WNDR4700
NETGEAR_HW_ID := 29763875+128+256
UBINIZE_OPTS := -E 5
+ SUPPORTED_DEVICES += wndr4700
endef
TARGET_DEVICES += netgear_wndr4700
@@ -227,7 +230,7 @@ define Device/wd_mybooklive
$(Device/MyBookLiveDefault)
DEVICE_TITLE := Western Digital My Book Live
DEVICE_DTS := wd-mybooklive
- SUPPORTED_DEVICES := mbl
+ SUPPORTED_DEVICES += mbl
endef
TARGET_DEVICES += wd_mybooklive
@@ -237,7 +240,7 @@ $(Device/MyBookLiveDefault)
DEVICE_TITLE := Western Digital My Book Live Duo
DEVICE_PACKAGES := kmod-usb-dwc2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-fs-vfat wpad-mini
DEVICE_DTS := wd-mybooklive-duo
- SUPPORTED_DEVICES := mbl
+ SUPPORTED_DEVICES += mbl
endef
TARGET_DEVICES += wd_mybooklive-duo