summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2019-04-11 13:43:44 +0200
committerroot2019-04-11 13:43:44 +0200
commit1318e36c180a502ddfa565e626300e843d7f22bd (patch)
treee69e769eeb038924c8e46b4a0466de17f319c45c
parent[rfs-stage31] Add hotplug handler for loading kernel modules (diff)
downloadmltk-1318e36c180a502ddfa565e626300e843d7f22bd.tar.gz
mltk-1318e36c180a502ddfa565e626300e843d7f22bd.tar.xz
mltk-1318e36c180a502ddfa565e626300e843d7f22bd.zip
[rfs-stage31] Add firmware loader to hotplug script
-rwxr-xr-xcore/rootfs/rootfs-stage31/data/sbin/hotplug11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/rootfs/rootfs-stage31/data/sbin/hotplug b/core/rootfs/rootfs-stage31/data/sbin/hotplug
index f2bda19b..260b7782 100755
--- a/core/rootfs/rootfs-stage31/data/sbin/hotplug
+++ b/core/rootfs/rootfs-stage31/data/sbin/hotplug
@@ -1,5 +1,16 @@
#!/bin/ash
+if [ -n "$FIRMWARE" ] && [ "$SUBSYSTEM" = "firmware" ] && [ -n "$DEVPATH" ] && [ -e "/sys/$DEVPATH/data" ]; then
+ echo "Kernel requests firmware $FIRMWARE" > "/dev/kmsg"
+ printf "1" > "/sys/$DEVPATH/loading"
+ if cat "/lib/firmware/$FIRMWARE" > "/sys/$DEVPATH/data" \
+ || cat "/lib/firmware/$(uname -r)/$FIRMWARE" > "/sys/$DEVPATH/data"; then
+ printf "0" > "/sys/$DEVPATH/loading"
+ else
+ printf "%s" "-1" "/sys/$DEVPATH/loading"
+ fi
+fi
+
[ "$ACTION" != "add" ] && exit 0
[ -z "$MODALIAS" ] && exit 0