|
|
@@ -0,0 +1,37 @@
|
|
|
+#!/bin/sh
|
|
|
+# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
+
|
|
|
+# This script migrates GPIO switch pin numbers
|
|
|
+# from kernel versions prior to 6.6
|
|
|
+# See https://lists.openwrt.org/pipermail/openwrt-devel/2024-March/042448.html
|
|
|
+
|
|
|
+. /lib/functions.sh
|
|
|
+
|
|
|
+ten64_update_gpioswitch_num() {
|
|
|
+ local section="$1"
|
|
|
+ config_get gpio_pin "${section}" gpio_pin
|
|
|
+ config_get gpio_name "${section}" name
|
|
|
+ if [ -z "${gpio_pin}" ]; then
|
|
|
+ return
|
|
|
+ fi
|
|
|
+ local this_pin_name=$(uci get "system.${section}.name")
|
|
|
+ if [ "${gpio_pin}" -lt 640 ]; then
|
|
|
+ new_pin_value=$(( $gpio_pin + 272 ))
|
|
|
+ uci set "system.${section}.gpio_pin=${new_pin_value}"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+board=$(board_name)
|
|
|
+if [ "${board}" != "traverse,ten64" ]; then
|
|
|
+ exit 0
|
|
|
+fi
|
|
|
+
|
|
|
+KERNEL_MINOR=$(uname -r | awk -F '.' '{print $2}')
|
|
|
+if [ "${KERNEL_MINOR}" -lt "6" ]; then
|
|
|
+ exit 0
|
|
|
+fi
|
|
|
+
|
|
|
+config_load system
|
|
|
+config_foreach ten64_update_gpioswitch_num gpio_switch
|
|
|
+
|
|
|
+exit 0
|