[LEDE-DEV] [PATCH 9/9] apm821xx: convert to device-tree board detection
Christian Lamparter
chunkeey at gmail.com
Sun Dec 17 06:00:01 PST 2017
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 at kresin.me>
Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
.../linux/apm821xx/base-files/etc/board.d/01_leds | 9 +++--
.../apm821xx/base-files/etc/board.d/02_network | 9 +++--
.../etc/hotplug.d/firmware/10-ath9k-eeprom | 4 +-
target/linux/apm821xx/base-files/lib/apm821xx.sh | 43 ----------------------
.../lib/preinit/01_preinit_do_apm821xx.sh | 9 -----
.../lib/preinit/05_set_iface_mac_apm821xx | 4 +-
.../lib/preinit/05_set_preinit_iface_apm821xx | 2 -
.../apm821xx/base-files/lib/preinit/79_move_config | 18 ++++++---
.../apm821xx/base-files/lib/upgrade/platform.sh | 21 ++++++-----
target/linux/apm821xx/image/Makefile | 2 +-
10 files changed, 39 insertions(+), 82 deletions(-)
delete mode 100755 target/linux/apm821xx/base-files/lib/apm821xx.sh
delete mode 100644 target/linux/apm821xx/base-files/lib/preinit/01_preinit_do_apm821xx.sh
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 at 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 ecfd70b9ee..897901a9bb 100755
--- a/target/linux/apm821xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/apm821xx/base-files/lib/upgrade/platform.sh
@@ -9,14 +9,15 @@ platform_check_image() {
[ "$#" -gt 1 ] && return 1
case "$board" in
- mbl)
+ wd,mybooklive|\
+ wd,mybooklive-duo)
mbl_do_platform_check "$1"
return $?;
;;
- mr24|\
- mx60|\
- wndr4700)
+ meraki,mr24|\
+ meraki,mx60|\
+ netgear,wndr4700)
return 0;
;;
@@ -32,9 +33,9 @@ platform_pre_upgrade() {
local board=$(board_name)
case "$board" in
- mr24|\
- mx60|\
- wndr4700)
+ meraki,mr24|\
+ meraki,mx60|\
+ netgear,wndr4700)
nand_do_upgrade "$1"
;;
@@ -47,7 +48,8 @@ platform_do_upgrade() {
local board=$(board_name)
case "$board" in
- mbl)
+ wd,mybooklive|\
+ wd,mybooklive-duo)
mbl_do_upgrade "$ARGV"
;;
@@ -61,7 +63,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 251ef5f359..94779f5657 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 = $$(BOARD_NAME) $(subst _,$(comma),$(1))
endef
define Build/dtb
--
2.15.1
More information about the Lede-dev
mailing list