summaryrefslogtreecommitdiff
path: root/package/base-files/files/sbin/hotplug-call
blob: e56460de938171381c84d9780b40d75ca73b5c2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
# Copyright (C) 2006 OpenWrt.org

export HOTPLUG_TYPE="$1"

# bypass the normal hotplug path for firmware loading
# would otherwise cause problems with drivers like bcm43xx
[ -d /sys/firmware -a "firmware" = "$HOTPLUG_TYPE" -a "add" = "$ACTION" ] && {
	[ -f "/lib/firmware/$FIRMWARE" ] && {
		echo 1 > "/sys$DEVPATH/loading"
		dd if="/lib/firmware/$FIRMWARE" of="/sys$DEVPATH/data" bs=64k
		echo 0 > "/sys$DEVPATH/loading"
	} || echo -1 > "/sys$DEVPATH/loading"
	exit 0
}

. /etc/functions.sh

PATH=/bin:/sbin:/usr/bin:/usr/sbin
LOGNAME=root
USER=root
export PATH LOGNAME USER

[ \! -z "$1" -a -d /etc/hotplug.d/$1 ] && {
	for script in $(ls /etc/hotplug.d/$1/* 2>&-); do (
		[ -f $script ] && . $script
	); done
}