From b290b88fc03bf61a04356ad85b440362508f9b15 Mon Sep 17 00:00:00 2001 From: Sean Khan Date: Mon, 8 Jul 2024 10:52:53 -0400 Subject: [PATCH] nss-drv: clean up hotplug script Cleaned up formatting and changed the way console messages are printed. The message will now properly show up in dmesg output with color, and date formatting rather than a non descriptive message like the following: Before: ``` /lib/firmware/qca-nss0-retail.bin 33 /lib/firmware/qca-nss1-retail.bin 33 ``` After: ``` [Mon Jul 8 07:21:12 2024] hotplug: symlinking /lib/firmware/qca-nss0.bin to /lib/firmware/qca-nss0-retail.bin [Mon Jul 8 07:21:12 2024] hotplug: symlinking /lib/firmware/qca-nss1.bin to /lib/firmware/qca-nss1-retail.bin ``` Signed-off-by: Sean Khan --- qca-nss-drv/files/qca-nss-drv.hotplug | 74 +++++++++++++-------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/qca-nss-drv/files/qca-nss-drv.hotplug b/qca-nss-drv/files/qca-nss-drv.hotplug index 1e48138..55dd58d 100644 --- a/qca-nss-drv/files/qca-nss-drv.hotplug +++ b/qca-nss-drv/files/qca-nss-drv.hotplug @@ -1,4 +1,5 @@ #!/bin/sh +# shellcheck disable=2012 # # Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. # @@ -15,56 +16,55 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # -KERNEL=`uname -r` +KERNEL=$(uname -r) case "${KERNEL}" in - 3.4*) - select_or_load=load_nss_fw - ;; - *) - select_or_load=select_nss_fw - ;; + 3.4*) + select_or_load=load_nss_fw + ;; + *) + select_or_load=select_nss_fw + ;; esac -load_nss_fw () { - ls -l $1 | awk ' { print $9,$5 } '> /dev/console - echo 1 > /sys/class/firmware/$DEVICENAME/loading - cat $1 > /sys/class/firmware/$DEVICENAME/data - echo 0 > /sys/class/firmware/$DEVICENAME/loading +load_nss_fw() { + ls -l "$1" | awk ' { print $9,$5 } ' > /dev/console + echo 1 > /sys/class/firmware/"$DEVICENAME"/loading + cat "$1" > /sys/class/firmware/"$DEVICENAME"/data + echo 0 > /sys/class/firmware/"$DEVICENAME"/loading } -select_nss_fw () { - rm -f /lib/firmware/$DEVICENAME - ln -s $1 /lib/firmware/$DEVICENAME - ls -l /lib/firmware/$DEVICENAME | awk ' { print $9,$5 } '> /dev/console +select_nss_fw() { + rm -f /lib/firmware/"$DEVICENAME" + ln -s "$1" /lib/firmware/"$DEVICENAME" + echo '<5>hotplug: symlinking' /lib/firmware/"$DEVICENAME" ' to '"$1" > /dev/kmsg } [ "$ACTION" != "add" ] && exit # dev name for UCI, since it doesn't let you use . or - -SDEVNAME=$(echo ${DEVICENAME} | sed s/[.-]/_/g) +SDEVNAME=$(echo "${DEVICENAME}" | sed s/[.-]/_/g) -SELECTED_FW=$(uci get nss.${SDEVNAME}.firmware 2>/dev/null) +SELECTED_FW=$(uci get nss."${SDEVNAME}".firmware 2> /dev/null) [ -e "${SELECTED_FW}" ] && { - $select_or_load ${SELECTED_FW} - exit + $select_or_load "${SELECTED_FW}" + exit } case $DEVICENAME in - qca-nss0* | qca-nss.0*) - if [ -e /lib/firmware/qca-nss0-enterprise.bin ] ; then - $select_or_load /lib/firmware/qca-nss0-enterprise.bin - else - $select_or_load /lib/firmware/qca-nss0-retail.bin - fi - exit - ;; - qca-nss1* | qca-nss.1*) - if [ -e /lib/firmware/qca-nss1-enterprise.bin ] ; then - $select_or_load /lib/firmware/qca-nss1-enterprise.bin - else - $select_or_load /lib/firmware/qca-nss1-retail.bin - fi - exit - ;; + qca-nss0* | qca-nss.0*) + if [ -e /lib/firmware/qca-nss0-enterprise.bin ]; then + $select_or_load /lib/firmware/qca-nss0-enterprise.bin + else + $select_or_load /lib/firmware/qca-nss0-retail.bin + fi + exit + ;; + qca-nss1* | qca-nss.1*) + if [ -e /lib/firmware/qca-nss1-enterprise.bin ]; then + $select_or_load /lib/firmware/qca-nss1-enterprise.bin + else + $select_or_load /lib/firmware/qca-nss1-retail.bin + fi + exit + ;; esac -