[oe-commits] org.oe.dev usb-gadget-mode: Add usb-gadget mode: An initscript to load the configured USB gadget module on boot

coredump2 commit openembedded-commits at lists.openembedded.org
Wed Jun 6 02:36:26 UTC 2007


usb-gadget-mode: Add usb-gadget mode: An initscript to load the configured USB gadget module on boot

Author: coredump2 at openembedded.org
Branch: org.openembedded.dev
Revision: da6e5b8733a112119c2bcd9b9f52a53c8c93bfb0
ViewMTN: http://monotone.openembedded.org/revision.psp?id=da6e5b8733a112119c2bcd9b9f52a53c8c93bfb0
Files:
1
packages/usb-gadget-mode
packages/usb-gadget-mode/files
packages/usb-gadget-mode/files/spitz
packages/usb-gadget-mode/files/usb-gadget
packages/usb-gadget-mode/files/usb-gadget.conf
packages/usb-gadget-mode/files/usb-gadget.init
packages/usb-gadget-mode/usb-gadget-mode.bb
mtn:execute
true
Diffs:

#
# mt diff -r97c4ef5cfbf2467127242eaa4771e4b2a118f3c3 -rda6e5b8733a112119c2bcd9b9f52a53c8c93bfb0
#
# 
# 
# add_dir "packages/usb-gadget-mode"
# 
# add_dir "packages/usb-gadget-mode/files"
# 
# add_dir "packages/usb-gadget-mode/files/spitz"
# 
# add_file "packages/usb-gadget-mode/files/usb-gadget"
#  content [7f14fd72c68ffb0234fae442ec23e3c3da33ea22]
# 
# add_file "packages/usb-gadget-mode/files/usb-gadget.conf"
#  content [2f7775ebb80daba6db4c45962c93be8894677b0d]
# 
# add_file "packages/usb-gadget-mode/files/usb-gadget.init"
#  content [770c68a8d0a17e10081e34e4347deed46e839973]
# 
# add_file "packages/usb-gadget-mode/usb-gadget-mode.bb"
#  content [80bdef91c64dbdba86bcd174c2a2f4ad927d5ba3]
# 
#   set "packages/usb-gadget-mode/files/usb-gadget"
#  attr "mtn:execute"
# value "true"
# 
#   set "packages/usb-gadget-mode/files/usb-gadget.init"
#  attr "mtn:execute"
# value "true"
# 
============================================================
--- packages/usb-gadget-mode/files/usb-gadget	7f14fd72c68ffb0234fae442ec23e3c3da33ea22
+++ packages/usb-gadget-mode/files/usb-gadget	7f14fd72c68ffb0234fae442ec23e3c3da33ea22
@@ -0,0 +1,59 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel at hentges.net> (c) 2007
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: usb-gadget
+# Date: 20070606 (YMD)
+#
+#################################################################################
+#
+# 20070606 - v0.0.1	- Initial release
+
+CONF_FILE="/etc/usb-gadget.conf"
+
+die() {
+	echo "ERROR: $1"
+	exit 1
+}
+
+go() {
+	test -e "$CONF_FILE" && . "$CONF_FILE" 
+	
+	case "$USB_MODE" in
+	networking)	setup_usb g_ether "$MODULE_OPTIONS" ;;
+	storage)	setup_usb g_file_storage "$MODULE_OPTIONS" ;;
+	none)		unload_usb_gadgets ;;
+	esac		
+		
+}
+
+setup_usb() {
+	
+	if ! ( lsmod | grep -q "$1" )
+	then
+		unload_usb_gadgets
+		echo "Loading [$1]"
+		modprobe "$1" "$MODULE_OPTIONS"
+	else
+		echo "Already loaded: [$1]"
+	fi
+}
+
+unload_usb_gadgets() {
+	KERNEL_VERSION="`uname -r`"
+	GADGET_MODULES="`find /lib/modules/$KERNEL_VERSION/kernel/drivers/usb/gadget -name "*g_*"`"
+	
+	for module in $GADGET_MODULES
+	do
+		MODULE_NAME="`basename $module | sed "s/\.ko//"`"
+		
+		if ( lsmod | grep -q "$MODULE_NAME" )
+		then
+			echo "Unloading [$MODULE_NAME]"
+			rmmod "$module"
+		fi
+	done
+}
+
+go
============================================================
--- packages/usb-gadget-mode/files/usb-gadget.conf	2f7775ebb80daba6db4c45962c93be8894677b0d
+++ packages/usb-gadget-mode/files/usb-gadget.conf	2f7775ebb80daba6db4c45962c93be8894677b0d
@@ -0,0 +1,3 @@
+USB_MODE=""
+MODULE_OPTIONS=""
+
============================================================
--- packages/usb-gadget-mode/files/usb-gadget.init	770c68a8d0a17e10081e34e4347deed46e839973
+++ packages/usb-gadget-mode/files/usb-gadget.init	770c68a8d0a17e10081e34e4347deed46e839973
@@ -0,0 +1,16 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel at hentges.net> (c) 2007
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: usb-gadget.init
+# Date: 20070606 (YMD)
+#
+#################################################################################
+#
+# 20070606 - v0.0.1	- Initial release
+
+case "$1" in 
+start)		usb-gadget ;;
+esac
+
============================================================
--- packages/usb-gadget-mode/usb-gadget-mode.bb	80bdef91c64dbdba86bcd174c2a2f4ad927d5ba3
+++ packages/usb-gadget-mode/usb-gadget-mode.bb	80bdef91c64dbdba86bcd174c2a2f4ad927d5ba3
@@ -0,0 +1,50 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel at hentges.net> (c) 2007
+# License: MIT (see http://www.opensource.org/licenses/mit-license.php 
+#               for a copy of the license)
+#
+# Filename: usb-gadget-mode.bb
+# Date: 20070606 (YMD)
+
+DESCRIPTION = "Manage the default USB gadget mode"
+MAINTAINER = "Matthias 'CoreDump' Hentges <oe at hentges.net>"
+HOMEPAGE = "<homepage>"
+LICENSE = "GPL"
+
+######################################################################################
+
+PV = "0.0.1"
+PR = "r0"
+
+######################################################################################
+
+PACKAGE_ARCH = "${MACHINE}"
+
+######################################################################################
+
+SRC_URI = "file://usb-gadget.conf \
+	   file://usb-gadget \
+	   file://usb-gadget.init"
+	   
+######################################################################################
+
+do_install() {
+	install -d ${D}/etc
+	install -d ${D}/etc/init.d	
+	install -d ${D}/usr/bin
+
+	install -m 0644 ${WORKDIR}/usb-gadget.conf ${D}/etc
+	install -m 0755 ${WORKDIR}/usb-gadget.init ${D}/etc/init.d/usb-gadget
+	install -m 0755 ${WORKDIR}/usb-gadget ${D}/usr/bin
+}
+
+pkg_postinst() {	
+	
+	test -n "$D" && opt="-r $D"
+	update-rc.d $opt usb-gadget defaults 50
+}
+
+pkg_postrm() {
+	update-rc.d -f usb-gadget remove
+}






More information about the Openembedded-commits mailing list