| Current Path : /lib64/udev/ |
| Current File : //lib64/udev/firmware.agent |
#!/bin/sh -e
#
# firmware loader agent
#
cd /lib/udev/
. ./hotplug.functions
if [ ! -e /sys/$DEVPATH/loading ]; then
mesg "/sys/$DEVPATH/ does not exist"
exit 1
fi
FIRMWARE_DIRS="/lib/firmware/$(uname -r) /lib/firmware /usr/local/lib/firmware /usr/lib/hotplug/firmware"
for DIR in $FIRMWARE_DIRS; do
[ -e "$DIR/$FIRMWARE" ] || continue
echo 1 > /sys/$DEVPATH/loading
cat "$DIR/$FIRMWARE" > /sys/$DEVPATH/data
echo 0 > /sys/$DEVPATH/loading
exit 0
done
# the firmware was not found
echo -1 > /sys/$DEVPATH/loading
if [ -d /dev/.udev/ ]; then
mkdir -p /dev/.udev/firmware-missing/
file=$(echo "$FIRMWARE" | sed -e 's#/#\\x2f#g')
ln -s -f "$DEVPATH" /dev/.udev/firmware-missing/$file
fi
debug_mesg "Cannot find the $FIRMWARE firmware"
exit 1