[LEDE-DEV,v2,3/3] ipq806x: migrate to generic board detect infrastructure

Submitted by Roman Yeryomin on May 9, 2017, 9:17 a.m.

Details

Message ID 1494321431-7525-1-git-send-email-roman@advem.lv
State Not Applicable
Delegated to: Mathias Kresin
Headers show

Commit Message

Roman Yeryomin May 9, 2017, 9:17 a.m.
Signed-off-by: Roman Yeryomin <roman@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

Comments

John Crispin May 16, 2017, 10:33 a.m.
On 09/05/17 11:17, Roman Yeryomin wrote:
> Signed-off-by: Roman Yeryomin <roman@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 hyniu@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.

     John

> +	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)
Roman Yeryomin May 17, 2017, 12:01 p.m.
On 16 May 2017 at 13:33, John Crispin <john@phrozen.org> wrote:
>
>
> On 09/05/17 11:17, Roman Yeryomin wrote:
>>
>> Signed-off-by: Roman Yeryomin <roman@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 hyniu@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)
>
>

Patch hide | download patch | download mbox

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 hyniu@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)
+
+	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)