aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/busybox/files/usb.sh
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/busybox/files/usb.sh')
-rw-r--r--recipes/busybox/files/usb.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/recipes/busybox/files/usb.sh b/recipes/busybox/files/usb.sh
new file mode 100644
index 0000000000..9faf14106b
--- /dev/null
+++ b/recipes/busybox/files/usb.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+case "$ACTION" in
+ add|"")
+ for uevent in /sys/class/usb_device/usbdev?.*/*/uevent; do
+ . $uevent
+ if [ ! -e /dev/bus/usb/$BUSNUM/$DEVNUM ]; then
+ mkdir -p /dev/bus/usb/$BUSNUM
+ mknod /dev/bus/usb/$BUSNUM/$DEVNUM c 189 $MINOR
+ fi
+ done
+ ;;
+ remove)
+ for device in /dev/bus/usb/*/*; do
+ REMOVED=1
+ dev=`basename $device`
+ bus=`basename $(dirname $device)`
+ for uevent in /sys/class/usb_device/usbdev?.*/*/uevent; do
+ . $uevent
+ echo $dev $DEVNUM $bus $BUSNUM >> /tmp/rem.txt
+ if [ $dev -eq $DEVNUM ] && [ $bus -eq $BUSNUM ]; then
+ REMOVED=0
+ break;
+ fi
+ done
+ if [ $REMOVED -eq 1 ]; then
+ rm /dev/bus/usb/$bus/$dev
+ if [ -z $(ls /dev/bus/usb/$bus/) ]; then
+ rmdir /dev/bus/usb/$bus/
+ fi
+ fi
+ done
+ ;;
+esac
+--
+1.6.3.3
+