On 16 May 2017 at 13:33, John Crispin <j...@phrozen.org> wrote: > > > On 09/05/17 11:17, Roman Yeryomin wrote: >> >> Signed-off-by: Roman Yeryomin <ro...@advem.lv> >> --- >> .../linux/ipq806x/base-files/etc/board.d/01_leds | 4 +- >> .../ipq806x/base-files/etc/board.d/02_network | 4 +- >> target/linux/ipq806x/base-files/etc/diag.sh | 13 +++- >> .../etc/hotplug.d/firmware/11-ath10k-caldata | 3 +- >> .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 4 +- >> .../ipq806x/base-files/etc/init.d/linksys_recovery | 3 +- >> .../linux/ipq806x/base-files/lib/board_detect.sh | 60 ++++++++++++++++ >> target/linux/ipq806x/base-files/lib/ipq806x.sh | 82 >> ---------------------- >> .../lib/preinit/03_preinit_do_ipq806x.sh | 12 ---- >> .../ipq806x/base-files/lib/upgrade/platform.sh | 8 +-- >> 10 files changed, 84 insertions(+), 109 deletions(-) >> create mode 100644 target/linux/ipq806x/base-files/lib/board_detect.sh >> delete mode 100644 target/linux/ipq806x/base-files/lib/ipq806x.sh >> delete mode 100644 >> target/linux/ipq806x/base-files/lib/preinit/03_preinit_do_ipq806x.sh >> >> diff --git a/target/linux/ipq806x/base-files/etc/board.d/01_leds >> b/target/linux/ipq806x/base-files/etc/board.d/01_leds >> index 1371767..85c94f0 100755 >> --- a/target/linux/ipq806x/base-files/etc/board.d/01_leds >> +++ b/target/linux/ipq806x/base-files/etc/board.d/01_leds >> @@ -4,11 +4,11 @@ >> # >> . /lib/functions/uci-defaults.sh >> -. /lib/ipq806x.sh >> +. /lib/functions/board.sh >> board_config_update >> -board=$(ipq806x_board_name) >> +board=$(board_name) >> case "$board" in >> c2600) >> diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network >> b/target/linux/ipq806x/base-files/etc/board.d/02_network >> index bd81a1e..fdcc7e7 100755 >> --- a/target/linux/ipq806x/base-files/etc/board.d/02_network >> +++ b/target/linux/ipq806x/base-files/etc/board.d/02_network >> @@ -5,12 +5,12 @@ >> # >> . /lib/functions/uci-defaults.sh >> -. /lib/ipq806x.sh >> +. /lib/functions/board.sh >> . /lib/functions/system.sh >> board_config_update >> -board=$(ipq806x_board_name) >> +board=$(board_name) >> case "$board" in >> ap148 |\ >> diff --git a/target/linux/ipq806x/base-files/etc/diag.sh >> b/target/linux/ipq806x/base-files/etc/diag.sh >> index 7c9a9d0..0d3c6b0 100755 >> --- a/target/linux/ipq806x/base-files/etc/diag.sh >> +++ b/target/linux/ipq806x/base-files/etc/diag.sh >> @@ -2,7 +2,18 @@ >> # Copyright (C) 2016 Henryk Heisig hy...@o2.pl >> . /lib/functions/leds.sh >> -. /lib/ipq806x.sh >> + >> +ipq806x_get_dt_led() { >> + local label >> + local ledpath >> + local basepath="/sys/firmware/devicetree/base" >> + local nodepath="$basepath/aliases/led-$1" >> + >> + [ -f "$nodepath" ] && ledpath=$(cat "$nodepath") >> + [ -n "$ledpath" ] && label=$(cat "$basepath$ledpath/label") >> + >> + echo "$label" >> +} >> boot="$(ipq806x_get_dt_led boot)" >> failsafe="$(ipq806x_get_dt_led failsafe)" >> diff --git >> a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata >> b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata >> index 6526212..9d9e21d 100644 >> --- >> a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata >> +++ >> b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata >> @@ -38,11 +38,10 @@ ath10kcal_patch_mac() { >> [ -e /lib/firmware/$FIRMWARE ] && exit 0 >> -. /lib/ipq806x.sh >> . /lib/functions.sh >> . /lib/functions/system.sh >> -board=$(ipq806x_board_name) >> +board=$(board_name) >> case "$FIRMWARE" in >> diff --git >> a/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac >> b/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac >> index 2ea408d..c24a18f 100644 >> --- >> a/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac >> +++ >> b/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac >> @@ -6,10 +6,10 @@ PHYNBR=${DEVPATH##*/phy} >> [ -n $PHYNBR ] || exit 0 >> -. /lib/ipq806x.sh >> +. /lib/functions/board.sh >> . /lib/functions/system.sh >> -board=$(ipq806x_board_name) >> +board=$(board_name) >> case "$board" in >> c2600) >> diff --git a/target/linux/ipq806x/base-files/etc/init.d/linksys_recovery >> b/target/linux/ipq806x/base-files/etc/init.d/linksys_recovery >> index b9ea004..4d94f1f 100755 >> --- a/target/linux/ipq806x/base-files/etc/init.d/linksys_recovery >> +++ b/target/linux/ipq806x/base-files/etc/init.d/linksys_recovery >> @@ -4,9 +4,8 @@ >> START=97 >> boot() { >> . /lib/functions.sh >> -. /lib/ipq806x.sh >> -case $(ipq806x_board_name) in >> +case $(board_name) in >> ea8500) >> # make sure auto_recovery in uboot is always on >> AUTO_RECOVERY_ENA="`fw_printenv -n auto_recovery`" >> diff --git a/target/linux/ipq806x/base-files/lib/board_detect.sh >> b/target/linux/ipq806x/base-files/lib/board_detect.sh >> new file mode 100644 >> index 0000000..eb4100e >> --- /dev/null >> +++ b/target/linux/ipq806x/base-files/lib/board_detect.sh >> @@ -0,0 +1,60 @@ >> +#!/bin/sh >> +# >> +# Copyright (c) 2014-2017 The Linux Foundation. All rights reserved. >> +# Copyright (C) 2011-2017 OpenWrt.org >> +# >> + >> +board_detect() { >> + local IPQ806X_BOARD_NAME= >> + local IPQ806X_MODEL= >> + local machine >> + local name >> + >> + machine=$(cat /proc/device-tree/model) >> + > > Hi Roman, > > i think the generic code should be using the compat string from devicetree, > allowing us to drop the case statements. >
exactly this one is not generic, it's ip806x code. I agree that compatible string from dts would make a lot of sense, but IMO it should be done as different patch series. And btw generic code from base-files already uses that (in this patch). So maybe this code is not even needed at all. But again, I see it as different patch series, because it would most likely touch dts files and this series only changes infrastructure. >> + case "$machine" in >> + *"AP148") >> + name="ap148" >> + ;; >> + *"4040") >> + name="fritz4040" >> + ;; >> + *"C2600") >> + name="c2600" >> + ;; >> + *"D7800") >> + name="d7800" >> + ;; >> + *"DB149") >> + name="db149" >> + ;; >> + *"NBG6817") >> + name="nbg6817" >> + ;; >> + *"R7500") >> + name="r7500" >> + ;; >> + *"R7500v2") >> + name="r7500v2" >> + ;; >> + *"Linksys EA8500"*) >> + name="ea8500" >> + ;; >> + *"R7800") >> + name="r7800" >> + ;; >> + *"VR2600v") >> + name="vr2600v" >> + ;; >> + esac >> + >> + [ -z "$name" ] && name="unknown" >> + >> + [ -z "$IPQ806X_BOARD_NAME" ] && IPQ806X_BOARD_NAME="$name" >> + [ -z "$IPQ806X_MODEL" ] && IPQ806X_MODEL="$machine" >> + >> + [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" >> + >> + echo "$IPQ806X_BOARD_NAME" > /tmp/sysinfo/board_name >> + echo "$IPQ806X_MODEL" > /tmp/sysinfo/model >> +} >> diff --git a/target/linux/ipq806x/base-files/lib/ipq806x.sh >> b/target/linux/ipq806x/base-files/lib/ipq806x.sh >> deleted file mode 100644 >> index 348a3a8..0000000 >> --- a/target/linux/ipq806x/base-files/lib/ipq806x.sh >> +++ /dev/null >> @@ -1,82 +0,0 @@ >> -#!/bin/sh >> -# >> -# Copyright (c) 2014 The Linux Foundation. All rights reserved. >> -# Copyright (C) 2011 OpenWrt.org >> -# >> - >> -IPQ806X_BOARD_NAME= >> -IPQ806X_MODEL= >> - >> -ipq806x_board_detect() { >> - local machine >> - local name >> - >> - machine=$(cat /proc/device-tree/model) >> - >> - case "$machine" in >> - *"AP148") >> - name="ap148" >> - ;; >> - *"4040") >> - name="fritz4040" >> - ;; >> - *"C2600") >> - name="c2600" >> - ;; >> - *"D7800") >> - name="d7800" >> - ;; >> - *"DB149") >> - name="db149" >> - ;; >> - *"NBG6817") >> - name="nbg6817" >> - ;; >> - *"R7500") >> - name="r7500" >> - ;; >> - *"R7500v2") >> - name="r7500v2" >> - ;; >> - *"Linksys EA8500"*) >> - name="ea8500" >> - ;; >> - *"R7800") >> - name="r7800" >> - ;; >> - *"VR2600v") >> - name="vr2600v" >> - ;; >> - esac >> - >> - [ -z "$name" ] && name="unknown" >> - >> - [ -z "$IPQ806X_BOARD_NAME" ] && IPQ806X_BOARD_NAME="$name" >> - [ -z "$IPQ806X_MODEL" ] && IPQ806X_MODEL="$machine" >> - >> - [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" >> - >> - echo "$IPQ806X_BOARD_NAME" > /tmp/sysinfo/board_name >> - echo "$IPQ806X_MODEL" > /tmp/sysinfo/model >> -} >> - >> -ipq806x_board_name() { >> - local name >> - >> - [ -f /tmp/sysinfo/board_name ] && name=$(cat >> /tmp/sysinfo/board_name) >> - [ -z "$name" ] && name="unknown" >> - >> - echo "$name" >> -} >> - >> -ipq806x_get_dt_led() { >> - local label >> - local ledpath >> - local basepath="/sys/firmware/devicetree/base" >> - local nodepath="$basepath/aliases/led-$1" >> - >> - [ -f "$nodepath" ] && ledpath=$(cat "$nodepath") >> - [ -n "$ledpath" ] && label=$(cat "$basepath$ledpath/label") >> - >> - echo "$label" >> -} >> diff --git >> a/target/linux/ipq806x/base-files/lib/preinit/03_preinit_do_ipq806x.sh >> b/target/linux/ipq806x/base-files/lib/preinit/03_preinit_do_ipq806x.sh >> deleted file mode 100644 >> index 785f1eb..0000000 >> --- a/target/linux/ipq806x/base-files/lib/preinit/03_preinit_do_ipq806x.sh >> +++ /dev/null >> @@ -1,12 +0,0 @@ >> -#!/bin/sh >> -# >> -# Copyright (c) 2014 The Linux Foundation. All rights reserved. >> -# >> - >> -do_ipq806x() { >> - . /lib/ipq806x.sh >> - >> - ipq806x_board_detect >> -} >> - >> -boot_hook_add preinit_main do_ipq806x >> diff --git a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh >> b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh >> index 8970285..1e4a006 100644 >> --- a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh >> +++ b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh >> @@ -1,4 +1,4 @@ >> -. /lib/ipq806x.sh >> +. /lib/functions/board.sh >> PART_NAME=firmware >> REQUIRE_IMAGE_METADATA=1 >> @@ -8,7 +8,7 @@ platform_check_image() { >> } >> platform_pre_upgrade() { >> - local board=$(ipq806x_board_name) >> + local board=$(board_name) >> case "$board" in >> ap148 |\ >> @@ -26,7 +26,7 @@ platform_pre_upgrade() { >> } >> platform_do_upgrade() { >> - local board=$(ipq806x_board_name) >> + local board=$(board_name) >> case "$board" in >> c2600) >> @@ -49,7 +49,7 @@ platform_do_upgrade() { >> } >> platform_nand_pre_upgrade() { >> - local board=$(ipq806x_board_name) >> + local board=$(board_name) >> case "$board" in >> nbg6817) > > _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev