diff options
Diffstat (limited to 'mdev/lib')
| -rwxr-xr-x | mdev/lib/dvbdev | 21 | ||||
| l--------- | mdev/lib/hddev | 1 | ||||
| -rwxr-xr-x | mdev/lib/inputdev | 50 | ||||
| -rwxr-xr-x | mdev/lib/sddev | 97 | ||||
| -rwxr-xr-x | mdev/lib/ttydev | 51 | ||||
| -rwxr-xr-x | mdev/lib/usb | 25 | 
6 files changed, 245 insertions, 0 deletions
diff --git a/mdev/lib/dvbdev b/mdev/lib/dvbdev new file mode 100755 index 0000000..491efb9 --- /dev/null +++ b/mdev/lib/dvbdev @@ -0,0 +1,21 @@ +#!/bin/busybox ash + +# MDEV=dvb0.demux1 -> ADAPTER=dvb0 -> N=0 +ADAPTER=${MDEV%.*} +N=${ADAPTER#dvb} +# MDEV=dvb0.demux1 -> DEVB_DEV=demux1 +DVB_DEV=${MDEV#*.} + +case "$ACTION" in +	add|"") +		mkdir -p dvb/adapter${N} +		mv ${MDEV} dvb/adapter${N}/${DVB_DEV} +		;; +	remove) +		rm -f dvb/adapter${N}/${DVB_DEV} +		rmdir dvb/adapter${N} 2>/dev/null +		rmdir dvb/ 2>/dev/null +esac + +exit 0 + diff --git a/mdev/lib/hddev b/mdev/lib/hddev new file mode 120000 index 0000000..e1b38f6 --- /dev/null +++ b/mdev/lib/hddev @@ -0,0 +1 @@ +sddev
\ No newline at end of file diff --git a/mdev/lib/inputdev b/mdev/lib/inputdev new file mode 100755 index 0000000..192dc54 --- /dev/null +++ b/mdev/lib/inputdev @@ -0,0 +1,50 @@ +#!/bin/busybox ash + +[ -n "$MDEV" ] || exit 0 +[ -n "$DEVNAME" ] || exit 0 +[ "$SUBSYSTEM" = "input" ] || exit 0 + +BPATH="input" +SPATH="/sys${DEVPATH}" + +NAME="" +if [ -e ${SPATH} ]; +then +	NAME=$(cat ${SPATH}/../name) +fi + +cd $BPATH +case "$ACTION" in +        add|"")	 +		if [ ! -e "$MDEV" ]; +		then +			mv ../$MDEV . +		fi + +		case "$NAME" in +			"TPPS/2 IBM TrackPoint") +				ln -s $MDEV mouse +				;; +			"AT Translated Set 2 keyboard") +				ln -s $MDEV kbd +				;; +		esac +                ;; +        remove) +		if [ -e "$MDEV" ]; +		then +			rm -f $MDEV +		fi + +		case "$NAME" in +			"TPPS/2 IBM TrackPoint") +				rm -f mouse +				;; +			"AT Translated Set 2 keyboard") +				rm -f kbd +				;; +		esac +                ;; +esac + +exit 0 diff --git a/mdev/lib/sddev b/mdev/lib/sddev new file mode 100755 index 0000000..c83f38c --- /dev/null +++ b/mdev/lib/sddev @@ -0,0 +1,97 @@ +#!/bin/busybox ash + +# $MDEV +# $ACTION + +blkidstr=$(blkid $(pwd)/${MDEV}) +UUID=$(echo -n "$blkidstr" \ +	| grep UUID \ +	| sed -e 's,.*UUID="\([^"]*\)".*,\1,') +LABEL=$(echo -n "$blkidstr" \ +	| grep LABEL \ +	| sed -e 's,.*LABEL="\([^"]*\)".*,\1,') +BLOCK=$(cat /sys${DEVPATH}/dev) + +case "$ACTION" in +	add|"") +		if [ -n "${UUID}" ]; +		then +			mkdir -p disk/by-uuid +			cd disk/by-uuid +			[ -e "${UUID}" ] && rm -f ${UUID} +			ln -s ../../${MDEV} ${UUID} +			cd ../.. +		fi + +		if [ -n "${LABEL}" ]; +		then +			mkdir -p disk/by-label +			cd disk/by-uuid +			[ -e "${LABEL}" ] && rm -f ${LABEL} +			ln -s ../../${MDEV} ${LABEL} +			cd ../.. +		fi + +		if [ -n "${BLOCK}" ]; +		then +			mkdir -p block +			cd block +			[ -e "${BLOCK}" ] && rm -f ${BLOCK} +			ln -s ../${MDEV} ${BLOCK} +			cd .. +		fi +		;; +	remove) +		[ -n "${UUID}" ] && [ -e disk/by-uuid/${UUID} ] \ +			&& rm -f disk/by-uuid/${UUID} +		[ -n "${LABEL}" ] && [ -e disk/by-uuid/${LABEL} ] \ +			&& rm -f disk/by-uuid/${LABEL} +		[ -n "${BLOCK}" ] && [ -e block/${BLOCK} ] \ +			&& rm -f block/${BLOCK} + +		if [ -e disk/by-uuid ]; +		then +			cd disk/by-uuid +			SLS=$(ls -l \ +				| awk "/..\/..\/${MDEV}/ {print \$9 }") +			for FILE in ${SLS}; +			do +				rm -f ${FILE} +			done +			cd ../.. +			 +			rmdir disk/by-uuid 2>/dev/null +		fi +		if [ -e disk/by-label ]; +		then +			cd disk/by-label +			SLS=$(ls -l \ +				| awk "/..\/..\/${MDEV}/ {print \$9 }") +			for FILE in ${SLS}; +			do +				rm -f ${FILE} +			done +			cd ../.. +			 +			rmdir disk/by-label 2>/dev/null +		fi +		rmdir disk/ 2>/dev/null + +		if [ -e block ]; +		then +			cd block +			SLS=$(ls -l \ +				| awk "/..\/${MDEV}/ {print \$9 }") +			for FILE in ${SLS}; +			do +				rm -f ${FILE} +			done +			cd .. +			 +			rmdir block 2>/dev/null +		fi +		;; +esac + +exit 0 + diff --git a/mdev/lib/ttydev b/mdev/lib/ttydev new file mode 100755 index 0000000..a330d8f --- /dev/null +++ b/mdev/lib/ttydev @@ -0,0 +1,51 @@ +#!/bin/busybox ash + +# +# This will work, but it is a useless overhead for every tty +# that might be created. Only use it, if there is really some +# dirty compatibility with udev that won't resolve otherwise! +# You have been warned! +# + +# $MDEV +# $ACTION + +if [ "${MDEV}" = "console" ] || [ "${MDEV}" = "null" ]; +then +	chmod 600 ${MDEV} +fi + +CHAR=$(cat /sys/${DEVPATH}/dev) + +case "$ACTION" in +	add|"") +		if [ -n "${CHAR}" ]; +		then +			mkdir -p char +			cd char +			[ -e "${CHAR}" ] && rm -f ${CHAR} +			ln -s ../${MDEV} ${CHAR} +			cd .. +		fi +		;; +	remove) +		[ -e char/${CHAR} ] && rm -f char/${CHAR} + +		if [ -e char ]; +		then +			cd char +			SLS=$(ls -l \ +				| awk "/..\/${MDEV}/ {print \$9 }") +			for FILE in ${SLS}; +			do +				rm -f ${FILE} +			done +			cd .. +			 +			rmdir char 2>/dev/null +		fi +		;; +esac + +exit 0 + diff --git a/mdev/lib/usb b/mdev/lib/usb new file mode 100755 index 0000000..af2bee2 --- /dev/null +++ b/mdev/lib/usb @@ -0,0 +1,25 @@ +#!/bin/busybox ash + +[ -n "$MDEV" ] || exit 0 +[ -n "$DEVNAME" ] || exit 0 +[ "$SUBSYSTEM" = "usb" ] || exit 0 + +BUSPATH=$(dirname "$DEVNAME") +DEVICENAME=$(basename "$DEVNAME") + +case "$ACTION" in +        add|"") +                if [ ! -d "$BUSPATH" ]; then +			mkdir -p "$BUSPATH" +                fi +                mv "$MDEV" "$BUSPATH/$DEVICENAME" +                ;; +        remove) +                if rm -f "$BUSPATH/$DEVICENAME" 2>/dev/null +                then +                        rmdir -p "$BUSNAME" 2>/dev/null +                fi +                ;; +esac + +exit 0  | 
