فهرست منبع

base-files: add helper functions for adding wlan device entries to board.json

These will be used to give WLAN PHYs a specific name based on path specified
in board.json. The platform board.d script can assign a specific order based
on available slots (PCIe slots, WMAC device) and device tree configuration.

This helps with maintaining config compatibility in case the device path
changes due to kernel upgrades.

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 3 سال پیش
والد
کامیت
7f9d3a00d8
2فایلهای تغییر یافته به همراه19 افزوده شده و 0 حذف شده
  1. 4 0
      package/base-files/files/lib/functions/system.sh
  2. 15 0
      package/base-files/files/lib/functions/uci-defaults.sh

+ 4 - 0
package/base-files/files/lib/functions/system.sh

@@ -283,3 +283,7 @@ macaddr_canonicalize() {
 
 
 	printf "%02x:%02x:%02x:%02x:%02x:%02x" 0x${canon// / 0x} 2>/dev/null
 	printf "%02x:%02x:%02x:%02x:%02x:%02x" 0x${canon// / 0x} 2>/dev/null
 }
 }
+
+dt_is_enabled() {
+	grep -q okay "/proc/device-tree/$1/status"
+}

+ 15 - 0
package/base-files/files/lib/functions/uci-defaults.sh

@@ -646,6 +646,21 @@ ucidef_set_ntpserver() {
 	json_select ..
 	json_select ..
 }
 }
 
 
+ucidef_add_wlan() {
+	local path="$1"; shift
+
+	ucidef_wlan_idx=${ucidef_wlan_idx:-0}
+
+	json_select_object wlan
+	json_select_object "wl$ucidef_wlan_idx"
+	json_add_string path "$path"
+	json_add_fields "$@"
+	json_select ..
+	json_select ..
+
+	ucidef_wlan_idx="$((ucidef_wlan_idx + 1))"
+}
+
 board_config_update() {
 board_config_update() {
 	json_init
 	json_init
 	[ -f ${CFG} ] && json_load "$(cat ${CFG})"
 	[ -f ${CFG} ] && json_load "$(cat ${CFG})"