|
@@ -0,0 +1,44 @@
|
|
|
+#!/bin/bash
|
|
|
+# SPDX-License-Identifier: GPL-2.0
|
|
|
+
|
|
|
+# Library of helpers for test scripts.
|
|
|
+set -e
|
|
|
+
|
|
|
+DIR=/sys/devices/virtual/misc/test_firmware
|
|
|
+
|
|
|
+PROC_CONFIG="/proc/config.gz"
|
|
|
+TEST_DIR=$(dirname $0)
|
|
|
+
|
|
|
+print_reqs_exit()
|
|
|
+{
|
|
|
+ echo "You must have the following enabled in your kernel:" >&2
|
|
|
+ cat $TEST_DIR/config >&2
|
|
|
+ exit 1
|
|
|
+}
|
|
|
+
|
|
|
+test_modprobe()
|
|
|
+{
|
|
|
+ if [ ! -d $DIR ]; then
|
|
|
+ print_reqs_exit
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+check_mods()
|
|
|
+{
|
|
|
+ trap "test_modprobe" EXIT
|
|
|
+ if [ ! -d $DIR ]; then
|
|
|
+ modprobe test_firmware
|
|
|
+ fi
|
|
|
+ if [ ! -f $PROC_CONFIG ]; then
|
|
|
+ if modprobe configs 2>/dev/null; then
|
|
|
+ echo "Loaded configs module"
|
|
|
+ if [ ! -f $PROC_CONFIG ]; then
|
|
|
+ echo "You must have the following enabled in your kernel:" >&2
|
|
|
+ cat $TEST_DIR/config >&2
|
|
|
+ echo "Resorting to old heuristics" >&2
|
|
|
+ fi
|
|
|
+ else
|
|
|
+ echo "Failed to load configs module, using old heuristics" >&2
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+}
|