[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