apm821xx: convert to device-tree board detection
authorChristian Lamparter <chunkeey@gmail.com>
Sun, 17 Dec 2017 14:00:01 +0000 (15:00 +0100)
committerMathias Kresin <dev@kresin.me>
Thu, 21 Dec 2017 00:05:16 +0000 (01:05 +0100)
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>
target/linux/apm821xx/base-files/etc/board.d/01_leds
target/linux/apm821xx/base-files/etc/board.d/02_network
target/linux/apm821xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
target/linux/apm821xx/base-files/lib/apm821xx.sh [deleted file]
target/linux/apm821xx/base-files/lib/preinit/01_preinit_do_apm821xx.sh [deleted file]
target/linux/apm821xx/base-files/lib/preinit/05_set_iface_mac_apm821xx
target/linux/apm821xx/base-files/lib/preinit/05_set_preinit_iface_apm821xx
target/linux/apm821xx/base-files/lib/preinit/79_move_config
target/linux/apm821xx/base-files/lib/upgrade/platform.sh
target/linux/apm821xx/image/Makefile

index 3b5fb721ae38e6e655894a6e00d00bf188d35ea7..c218efa49bddbfe37898804e73ed83cc4c3ea3c9 100755 (executable)
@@ -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"
index 03df7cb49f7aa58339ec5e468b0b1c4fcb60c980..6f4456e8a1e47cca7acc3754eda24b03a3d3685c 100755 (executable)
@@ -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"
        ;;
index 4a7e1c0b19ac946dade1664942c5539f3677f1da..7a13a0afa86569f11d21c32b340ef422dd7b27c2 100644 (file)
@@ -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 (executable)
index 8f0814b..0000000
+++ /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 (file)
index 5675357..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-do_apm821xx() {
-       . /lib/apm821xx.sh
-
-       apm821xx_board_detect
-}
-
-boot_hook_add preinit_main do_apm821xx
index ec540feb846568819c6459fd5adc03e4fc9e9c5b..1a27930d24fef97a2ebd22b1c4afae98a10fd1b7 100644 (file)
@@ -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"
                        ;;
index 97ef6dc68f4a9937332493c63c80a981957a6d12..a15a055a25275f12a5a8b7e74539faaa327d6f88 100644 (file)
@@ -1,7 +1,5 @@
 #!/bin/sh
 
-. /lib/apm821xx.sh
-
 apm821xx_set_preinit_iface() {
        ifname=eth0
 }
index 3ca8b0a71cdbd2f8cc104eaae8a1791eeb58aec0..5d33feb91601a7b7e0932d6af9627101266c8270 100644 (file)
@@ -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
index 7c9c413b4260f9f4d6b25818680acd8d30880ff3..5d2eee4ca35ea9fbd990f0247e691875f30618bb 100755 (executable)
@@ -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
                ;;
 
index 60f9fcda89f2e94f39257997d48f86ab127c3fcc..c012906eafff35d94d6a28719448f014ee7cff2a 100644 (file)
@@ -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