#!/bin/sh
# Copyright (C) 2006 OpenWrt.org

export HOTPLUG_TYPE="$1"

#echo "######### hotplug type=$1 ACTION=$ACTION INTERFACE=$INTERFACE DEVICE=$DEVICE DEVPATH=$DEVPATH PROTO=$PROTO" > /dev/console


# skip duplicate 3G hotplug with INTERFACE=255/255/255
[ "$1" = "usb" ] && {
	[ "${INTERFACE}" != "" -a "$(expr substr ${INTERFACE} 1 2)" != "8/" ] && {
		logger "Skip usb hotplug with INTERFACE=$INTERFACE"
		exit 1
	}	
}

# bypass the normal hotplug path for firmware loading
# would otherwise cause problems with drivers like bcm43xx
[ "firmware" = "$HOTPLUG_TYPE" -a "add" = "$ACTION" ] && {
	[ -f "/lib/firmware/$FIRMWARE" ] && {
		echo 1 > "/sys$DEVPATH/loading"
		cp "/lib/firmware/$FIRMWARE" "/sys$DEVPATH/data"
		echo 0 > "/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
}
