-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
realtek-poe: build default config from board.json
This adjustment makes a compromise between those that would prefer not to complicate the realtek-poe.git source repository and those who want to have PoE work out-of-the-box on Realtek switches -- see realtek-poe.git, commit 2df137ee457155 ("realtek-poe/openwrt: Generate config from board.json") Switches previously booted with OpenWrt will have an /etc/config/poe file already present, and thus the uci-default shall not take effect. Signed-off-by: Martin Kennedy <[email protected]>
- Loading branch information
Showing
2 changed files
with
44 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
[ -e /etc/config/poe ] && exit 0 | ||
|
||
. /lib/functions.sh | ||
. /usr/share/libubox/jshn.sh | ||
|
||
CFG=/etc/board.json | ||
|
||
json_init | ||
json_load_file "${CFG}" | ||
|
||
json_is_a poe object || exit 0 | ||
|
||
umask 055 | ||
touch /etc/config/poe | ||
|
||
json_select poe | ||
json_get_vars budget | ||
|
||
uci add poe global | ||
uci set poe.@global[-1].budget="$budget" | ||
|
||
if json_is_a ports array; then | ||
json_get_values ports ports | ||
id='1' | ||
|
||
for port in $ports; do | ||
uci -q batch <<-EOF | ||
add poe port | ||
set poe.@port[-1].name='$port' | ||
set poe.@port[-1].id='$id' | ||
set poe.@port[-1].enable='1' | ||
EOF | ||
let id=id+1 | ||
done | ||
fi | ||
json_select .. | ||
|
||
uci commit | ||
|
||
exit 0 |