summaryrefslogtreecommitdiffstats
path: root/meta/packages/linux-hotplug/files/sleeve.agent
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/linux-hotplug/files/sleeve.agent')
-rwxr-xr-xmeta/packages/linux-hotplug/files/sleeve.agent120
1 files changed, 120 insertions, 0 deletions
diff --git a/meta/packages/linux-hotplug/files/sleeve.agent b/meta/packages/linux-hotplug/files/sleeve.agent
new file mode 100755
index 0000000000..55befca1b1
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/sleeve.agent
@@ -0,0 +1,120 @@
1#!/bin/sh
2#
3# H3600 Sleeve hotplug policy agent for Linux 2.4 kernels
4#
5# Kernel NET hotplug params include:
6#
7# ACTION=%s [add or remove]
8# VENDOR_ID=%s
9# DEVICE_ID=%x
10# DEVICE_NAME=%s
11#
12
13. /etc/hotplug/hotplug.functions
14#DEBUG=yes export DEBUG
15
16if [ "$DEBUG" != "" ]; then
17 mesg "Executing $0 action=$ACTION, device=$DEVICE_NAME ($VENDOR_ID,$DEVICE_ID)"
18fi
19
20COMPACTFLASH_TIMING_INCREMENT=0
21PCMCIA_TIMING_INCREMENT=0
22DUAL_PCMCIA_TIMING_INCREMENT=0
23NAVMAN_TIMING_INCREMENT=0
24BACKPAQ_TIMING_INCREMENT=-100
25
26if [ -f /etc/sysconfig/hotplug ] ; then
27 . /etc/sysconfig/hotplug
28fi
29
30case $ACTION in
31add)
32 case $DEVICE_NAME in
33 "Compaq Mercury Backpaq")
34 mkdir -p /backpaq
35 echo $BACKPAQ_TIMING_INCREMENT > /proc/sys/backpaq/pcmcia/timing_increment_ns
36 ## mount -t jffs2 /dev/mtdblock/4 /backpaq
37 modprobe h3600_backpaq_fpga || mesg 'could not load backpaq fpga driver'
38 modprobe h3600_backpaq_camera || mesg 'could not load backpaq camera driver'
39 if [ -c /dev/v4l/video0 ] ; then
40 ln -s /dev/v4l/video0 /dev/video0
41 ln -s /dev/v4l/video0 /dev/video
42 fi
43 CAMERATYPE=`/bin/grep "CameraType" /proc/backpaq/camera | /bin/sed -e 's/.*: //'`
44 BACKPAQ_NUMBER=`/bin/grep "Major revision" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
45 FPGA_NUMBER=`/bin/grep "FPGA version" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
46 CAMERA_NUMBER=`/bin/grep "Camera" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
47
48 echo "CAMERA_TYPE = $CAMERATYPE"
49 echo "BACKPAQ_NUMBER = $BACKPAQ_NUMBER"
50 echo "FPGA_NUMBER = $FPGA_NUMBER"
51 echo "CAMERA_NUMBER = $CAMERA_NUMBER"
52 echo "looking for file: /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin"
53 if [ -e /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin ] ; then
54 cat /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin > /dev/backpaq/fpga
55 elif [ -e /etc/fpga_$CAMERATYPE.bin ] ; then
56 cat /etc/fpga_$CAMERATYPE.bin > /dev/backpaq/fpga
57 elif [ -e /etc/fpga.bin ] ; then
58 cat /etc/fpga.bin > /dev/backpaq/fpga
59 else
60 mesg 'unable to program the backpaq fpga'
61 fi
62 modprobe h3600_backpaq_accel || mesg 'could not load backpaq accelerometer driver'
63 mesg 'BackPAQ drivers loaded'
64 ;;
65 "Compaq CompactFlash Sleeve")
66 mesg 'CompactFlash drivers loaded'
67 echo $COMPACTFLASH_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
68 ;;
69 "Compaq PC Card Sleeve")
70 mesg 'PC card sleeve drivers loaded'
71 echo $PCMCIA_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
72 ;;
73 "Compaq Dual PC Card Sleeve")
74 mesg 'Dual PC card sleeve drivers loaded'
75 echo $DUAL_PCMCIA_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
76 ;;
77 "Navman GPS/CF Sleeve")
78 mesg 'Navman GPS sleeve drivers loaded'
79 echo $NAVMAN_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
80 start-stop-daemon --start --exec /usr/sbin/gpsd.bin -- -p /dev/tts/0 -s 57600
81 ;;
82 *)
83 mesg "$1 $ACTION event not handled for $DEVICE_NAME"
84 ;;
85 esac
86 ;;
87
88remove)
89 case $DEVICE_NAME in
90 "Compaq Mercury Backpaq")
91 mesg 'Unloading BackPAQ drivers'
92 ## umount /backpaq
93 rmmod h3600_backpaq_camera
94 rmmod h3600_backpaq_accel
95 rmmod h3600_backpaq_fpga
96 ;;
97 "Compaq CompactFlash Sleeve")
98 mesg 'Unloading CompactFlash sleeve'
99 ;;
100 "Compaq PC Card Sleeve")
101 mesg 'Unloading PC Card sleeve'
102 ;;
103 "Compaq Dual PC Card Sleeve")
104 mesg 'Unloading Dual PC Card sleeve'
105 ;;
106 "Navman GPS/CF Sleeve")
107 mesg 'Unloading Navman GPS sleeve'
108 start-stop-daemon --stop --name gpsd.bin
109 ;;
110 *)
111 mesg $1 $ACTION event not handled for $DEVICE_NAME
112 ;;
113 esac
114 ;;
115
116*)
117 mesg "$1 $ACTION event not supported"
118 exit 1 ;;
119
120esac