]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/linux-hotplug/files/soc.agent
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / linux-hotplug / files / soc.agent
1 #!/bin/sh
2 #
3 # SoC hotplug agent for 2.6 kernels 
4 #
5 #       ACTION=add
6 #       SOC_ID=1234
7 #
8
9 cd /etc/hotplug
10 . ./hotplug.functions
11
12 MAP_CURRENT=$MODULE_DIR/modules.socmap
13
14 #
15 # stdin is "modules.socmap" syntax
16 # on return, all matching modules were added to $DRIVERS
17 #
18 soc_map_modules ()
19 {
20     while read line
21     do
22         # comments are lines that start with "#" ...
23         # be careful, they still get parsed by bash!
24         case "$line" in
25         \#*) continue ;;
26         esac
27
28         set $line
29
30         module="$1"
31         id="$2"
32
33         if [ "$id" != "0x$SOC_ID" ]; then
34                 continue
35         fi
36
37         # It was a match!
38         case " $DRIVERS " in
39             *" $module "* )
40                 : already found
41             ;;
42             * )
43                 DRIVERS="$module $DRIVERS"
44             ;;
45         esac
46         : drivers $DRIVERS
47     done
48 }
49
50 case $ACTION in
51
52 add)
53
54     load_drivers soc $MAP_CURRENT "$SOC_ID"
55     ;;
56
57 *)
58     debug_mesg SoC $ACTION event not supported
59     exit 1
60     ;;
61
62 esac