summaryrefslogtreecommitdiff
path: root/openembedded/packages/linux-hotplug/files/soc.agent
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2005-08-31 10:45:47 +0000
committerRichard Purdie <richard@openedhand.com>2005-08-31 10:45:47 +0000
commit4b46c1f6e891b1ddd5968536440b888661fade3e (patch)
treee0ba2c1f56f61b868bf746da5c4feabb25b800b2 /openembedded/packages/linux-hotplug/files/soc.agent
downloadopenembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.tar.gz
openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.tar.bz2
openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.tar.xz
openembedded-core-4b46c1f6e891b1ddd5968536440b888661fade3e.zip
Initial population
git-svn-id: https://svn.o-hand.com/repos/poky@1 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/linux-hotplug/files/soc.agent')
-rw-r--r--openembedded/packages/linux-hotplug/files/soc.agent62
1 files changed, 62 insertions, 0 deletions
diff --git a/openembedded/packages/linux-hotplug/files/soc.agent b/openembedded/packages/linux-hotplug/files/soc.agent
new file mode 100644
index 000000000..e91246196
--- /dev/null
+++ b/openembedded/packages/linux-hotplug/files/soc.agent
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# SoC hotplug agent for 2.6 kernels
+#
+# ACTION=add
+# SOC_ID=1234
+#
+
+cd /etc/hotplug
+. ./hotplug.functions
+
+MAP_CURRENT=$MODULE_DIR/modules.socmap
+
+#
+# stdin is "modules.socmap" syntax
+# on return, all matching modules were added to $DRIVERS
+#
+soc_map_modules ()
+{
+ while read line
+ do
+ # comments are lines that start with "#" ...
+ # be careful, they still get parsed by bash!
+ case "$line" in
+ \#*) continue ;;
+ esac
+
+ set $line
+
+ module="$1"
+ id="$2"
+
+ if [ "$id" != "0x$SOC_ID" ]; then
+ continue
+ fi
+
+ # It was a match!
+ case " $DRIVERS " in
+ *" $module "* )
+ : already found
+ ;;
+ * )
+ DRIVERS="$module $DRIVERS"
+ ;;
+ esac
+ : drivers $DRIVERS
+ done
+}
+
+case $ACTION in
+
+add)
+
+ load_drivers soc $MAP_CURRENT "$SOC_ID"
+ ;;
+
+*)
+ debug_mesg SoC $ACTION event not supported
+ exit 1
+ ;;
+
+esac