summaryrefslogtreecommitdiff
path: root/recipes/linux-hotplug/files
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/linux-hotplug/files
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/linux-hotplug/files')
-rw-r--r--recipes/linux-hotplug/files/collie/usbd1
-rwxr-xr-xrecipes/linux-hotplug/files/mmc.agent52
-rwxr-xr-xrecipes/linux-hotplug/files/sleeve.agent120
-rwxr-xr-xrecipes/linux-hotplug/files/sleeve.rc60
-rw-r--r--recipes/linux-hotplug/files/soc.agent62
-rw-r--r--recipes/linux-hotplug/files/sysconfig-hotplug12
-rw-r--r--recipes/linux-hotplug/files/sysconfig-usb0
-rw-r--r--recipes/linux-hotplug/files/tosa/sysconfig-usb2
-rw-r--r--recipes/linux-hotplug/files/usbd2
-rwxr-xr-xrecipes/linux-hotplug/files/usbd.agent63
10 files changed, 374 insertions, 0 deletions
diff --git a/recipes/linux-hotplug/files/collie/usbd b/recipes/linux-hotplug/files/collie/usbd
new file mode 100644
index 0000000000..38aff0adcb
--- /dev/null
+++ b/recipes/linux-hotplug/files/collie/usbd
@@ -0,0 +1 @@
+usbdmodule="sa1100_bi"
diff --git a/recipes/linux-hotplug/files/mmc.agent b/recipes/linux-hotplug/files/mmc.agent
new file mode 100755
index 0000000000..a80daa4603
--- /dev/null
+++ b/recipes/linux-hotplug/files/mmc.agent
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# H3600 Sleeve hotplug policy agent for Linux 2.4 kernels
+#
+# Kernel NET hotplug params include:
+#
+# ACTION=%s [add or remove]
+# MEDIA=%s
+# SLOT=%d
+#
+
+. /etc/hotplug/hotplug.functions
+#DEBUG=yes export DEBUG
+
+ echo "Executing $0 action=$ACTION, media=$MEDIA ($SLOT)" > /dev/console
+
+MMC_MOUNT_OPTIONS="-t auto -o sync,noatime"
+
+if [ -f /etc/sysconfig/hotplug ] ; then
+ . /etc/sysconfig/hotplug
+fi
+
+case `uname -r` in
+2.4*)
+ devpath=mmc/part
+ ;;
+*)
+ devpath=mmcblk0p
+ ;;
+esac
+
+if [ "$ACTION" = "add" ] ; then
+ sleep 4
+ echo -n add > /dev/console
+ for n in 1 2 3 4 ; do
+ device=/dev/$devpath$n
+ if [ "$n" = "1" ] ; then
+ card=/mnt/card
+ else
+ card=/mnt/card$n
+ fi
+ [ -b $device ] || break
+ echo " flash on $device" > /dev/console
+ [ -d $card ] || mkdir -p $card
+ mount $MMC_MOUNT_OPTIONS $device $card
+ done
+
+else
+ for card in /mnt/card*; do
+ umount $card
+ done
+fi
diff --git a/recipes/linux-hotplug/files/sleeve.agent b/recipes/linux-hotplug/files/sleeve.agent
new file mode 100755
index 0000000000..55befca1b1
--- /dev/null
+++ b/recipes/linux-hotplug/files/sleeve.agent
@@ -0,0 +1,120 @@
+#!/bin/sh
+#
+# H3600 Sleeve hotplug policy agent for Linux 2.4 kernels
+#
+# Kernel NET hotplug params include:
+#
+# ACTION=%s [add or remove]
+# VENDOR_ID=%s
+# DEVICE_ID=%x
+# DEVICE_NAME=%s
+#
+
+. /etc/hotplug/hotplug.functions
+#DEBUG=yes export DEBUG
+
+if [ "$DEBUG" != "" ]; then
+ mesg "Executing $0 action=$ACTION, device=$DEVICE_NAME ($VENDOR_ID,$DEVICE_ID)"
+fi
+
+COMPACTFLASH_TIMING_INCREMENT=0
+PCMCIA_TIMING_INCREMENT=0
+DUAL_PCMCIA_TIMING_INCREMENT=0
+NAVMAN_TIMING_INCREMENT=0
+BACKPAQ_TIMING_INCREMENT=-100
+
+if [ -f /etc/sysconfig/hotplug ] ; then
+ . /etc/sysconfig/hotplug
+fi
+
+case $ACTION in
+add)
+ case $DEVICE_NAME in
+ "Compaq Mercury Backpaq")
+ mkdir -p /backpaq
+ echo $BACKPAQ_TIMING_INCREMENT > /proc/sys/backpaq/pcmcia/timing_increment_ns
+ ## mount -t jffs2 /dev/mtdblock/4 /backpaq
+ modprobe h3600_backpaq_fpga || mesg 'could not load backpaq fpga driver'
+ modprobe h3600_backpaq_camera || mesg 'could not load backpaq camera driver'
+ if [ -c /dev/v4l/video0 ] ; then
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ fi
+ CAMERATYPE=`/bin/grep "CameraType" /proc/backpaq/camera | /bin/sed -e 's/.*: //'`
+ BACKPAQ_NUMBER=`/bin/grep "Major revision" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
+ FPGA_NUMBER=`/bin/grep "FPGA version" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
+ CAMERA_NUMBER=`/bin/grep "Camera" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
+
+ echo "CAMERA_TYPE = $CAMERATYPE"
+ echo "BACKPAQ_NUMBER = $BACKPAQ_NUMBER"
+ echo "FPGA_NUMBER = $FPGA_NUMBER"
+ echo "CAMERA_NUMBER = $CAMERA_NUMBER"
+ echo "looking for file: /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin"
+ if [ -e /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin ] ; then
+ cat /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin > /dev/backpaq/fpga
+ elif [ -e /etc/fpga_$CAMERATYPE.bin ] ; then
+ cat /etc/fpga_$CAMERATYPE.bin > /dev/backpaq/fpga
+ elif [ -e /etc/fpga.bin ] ; then
+ cat /etc/fpga.bin > /dev/backpaq/fpga
+ else
+ mesg 'unable to program the backpaq fpga'
+ fi
+ modprobe h3600_backpaq_accel || mesg 'could not load backpaq accelerometer driver'
+ mesg 'BackPAQ drivers loaded'
+ ;;
+ "Compaq CompactFlash Sleeve")
+ mesg 'CompactFlash drivers loaded'
+ echo $COMPACTFLASH_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
+ ;;
+ "Compaq PC Card Sleeve")
+ mesg 'PC card sleeve drivers loaded'
+ echo $PCMCIA_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
+ ;;
+ "Compaq Dual PC Card Sleeve")
+ mesg 'Dual PC card sleeve drivers loaded'
+ echo $DUAL_PCMCIA_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
+ ;;
+ "Navman GPS/CF Sleeve")
+ mesg 'Navman GPS sleeve drivers loaded'
+ echo $NAVMAN_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
+ start-stop-daemon --start --exec /usr/sbin/gpsd.bin -- -p /dev/tts/0 -s 57600
+ ;;
+ *)
+ mesg "$1 $ACTION event not handled for $DEVICE_NAME"
+ ;;
+ esac
+ ;;
+
+remove)
+ case $DEVICE_NAME in
+ "Compaq Mercury Backpaq")
+ mesg 'Unloading BackPAQ drivers'
+ ## umount /backpaq
+ rmmod h3600_backpaq_camera
+ rmmod h3600_backpaq_accel
+ rmmod h3600_backpaq_fpga
+ ;;
+ "Compaq CompactFlash Sleeve")
+ mesg 'Unloading CompactFlash sleeve'
+ ;;
+ "Compaq PC Card Sleeve")
+ mesg 'Unloading PC Card sleeve'
+ ;;
+ "Compaq Dual PC Card Sleeve")
+ mesg 'Unloading Dual PC Card sleeve'
+ ;;
+ "Navman GPS/CF Sleeve")
+ mesg 'Unloading Navman GPS sleeve'
+ start-stop-daemon --stop --name gpsd.bin
+ ;;
+ *)
+ mesg $1 $ACTION event not handled for $DEVICE_NAME
+ ;;
+ esac
+ ;;
+
+*)
+ mesg "$1 $ACTION event not supported"
+ exit 1 ;;
+
+esac
diff --git a/recipes/linux-hotplug/files/sleeve.rc b/recipes/linux-hotplug/files/sleeve.rc
new file mode 100755
index 0000000000..864a2eb182
--- /dev/null
+++ b/recipes/linux-hotplug/files/sleeve.rc
@@ -0,0 +1,60 @@
+#!/bin/sh
+#
+# H3600 Sleeve hotplug *.rc agent.
+# This script is called by /etc/init.d/hotplug whenever
+# a run level has changed.
+#
+# A single argument is passed - start, restart, status, or stop
+#
+# We set up parameters that are equivalent to the ones created
+# by the Kernel and pass them along to /sbin/hotplug (the
+# function called by the kernel).
+#
+# Kernel NET hotplug params include:
+#
+# ACTION=%s [add or remove]
+# VENDOR_ID=%s
+# DEVICE_ID=%x
+# DEVICE_NAME=%s
+#
+
+. /etc/hotplug/hotplug.functions
+# DEBUG=yes export DEBUG
+
+SLEEVEFILE="/proc/bus/sleeve/device"
+[ ! -f $SLEEVEFILE ] && exit 0
+
+# give the sleeve driver a kick to make sure it recognizes the card -Jamey 6/26/01
+# echo > /proc/sys/sleeve/insert
+
+export DEVICE_NAME=`/bin/grep driver $SLEEVEFILE | /bin/sed -e 's/.*=//'`
+export DEVICE_ID=`/bin/grep device $SLEEVEFILE | /bin/sed -e 's/.*=//'`
+export VENDOR_ID=`/bin/grep vendor $SLEEVEFILE | /bin/sed -e 's/.*=//'`
+
+case "$1" in
+ start)
+ export ACTION="add"
+ /sbin/hotplug sleeve
+ ;;
+ stop)
+ export ACTION="remove"
+ /sbin/hotplug sleeve
+ ;;
+ restart)
+ export ACTION="remove"
+ /sbin/hotplug sleeve
+ export ACTION="add"
+ /sbin/hotplug sleeve
+ ;;
+ status)
+ if [ -f /var/lock/subsys/hotplug ]; then
+ mesg "Hot plug sleeve has been started, current device $DEVICE_NAME"
+ else
+ mesg "Hot plug sleeve has not been started, current device $DEVICE_NAME"
+ fi
+ ;;
+ *)
+ mesg "Usage: $0 {start|stop|status|restart}"
+ ;;
+esac
+
diff --git a/recipes/linux-hotplug/files/soc.agent b/recipes/linux-hotplug/files/soc.agent
new file mode 100644
index 0000000000..e91246196f
--- /dev/null
+++ b/recipes/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
diff --git a/recipes/linux-hotplug/files/sysconfig-hotplug b/recipes/linux-hotplug/files/sysconfig-hotplug
new file mode 100644
index 0000000000..7ee5a20c31
--- /dev/null
+++ b/recipes/linux-hotplug/files/sysconfig-hotplug
@@ -0,0 +1,12 @@
+##
+## Each of these may be assigned to the number of nanoseconds by which to
+## increase the timing of pcmcia bus transactions
+##
+# COMPACTFLASH_TIMING_INCREMENT=0
+## the single pcmcia sleeve seems to be a bit slow, but 25ns makes my
+## orinoco card detectable. -Jamey 4/2/2002
+PCMCIA_TIMING_INCREMENT=25
+# DUAL_PCMCIA_TIMING_INCREMENT=0
+
+## mount options used by MMC
+MMC_MOUNT_OPTIONS="-t auto -o sync,noatime"
diff --git a/recipes/linux-hotplug/files/sysconfig-usb b/recipes/linux-hotplug/files/sysconfig-usb
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/recipes/linux-hotplug/files/sysconfig-usb
diff --git a/recipes/linux-hotplug/files/tosa/sysconfig-usb b/recipes/linux-hotplug/files/tosa/sysconfig-usb
new file mode 100644
index 0000000000..cbd18c6566
--- /dev/null
+++ b/recipes/linux-hotplug/files/tosa/sysconfig-usb
@@ -0,0 +1,2 @@
+## Specify the USB host controller driver
+HCD="usb_ohci_tc6393"
diff --git a/recipes/linux-hotplug/files/usbd b/recipes/linux-hotplug/files/usbd
new file mode 100644
index 0000000000..aa4e6d2de7
--- /dev/null
+++ b/recipes/linux-hotplug/files/usbd
@@ -0,0 +1,2 @@
+usbdmodule=""
+
diff --git a/recipes/linux-hotplug/files/usbd.agent b/recipes/linux-hotplug/files/usbd.agent
new file mode 100755
index 0000000000..6613b4810a
--- /dev/null
+++ b/recipes/linux-hotplug/files/usbd.agent
@@ -0,0 +1,63 @@
+#!/bin/ash
+
+# DEBUG=yes export DEBUG
+#set -x
+
+. /etc/hotplug/hotplug.functions
+. /etc/default/usbd
+cd $HOTPLUG_DIR
+
+[ -z "$INTERFACE" ] && exit 1
+[ -z "$ACTION" ] && exit 1
+[ -z "$usbdmodule" ] && exit 0
+
+debug_mesg "USBD $ACTION Action Recived"
+
+case $INTERFACE in
+
+monitor)
+ case $ACTION in
+ # called to load all usb device modules
+ load)
+ modprobe usbdcore
+ modprobe net_fd
+ modprobe $usbdmodule
+ ;;
+
+ # called to handle suspend power management event
+ suspend)
+ rmmod $usbdmodule
+ ;;
+
+ # called to reload after resume power management event
+ restore-loaded)
+ modprobe $usbdmodule
+ sleep 2
+ ;;
+
+ # called to unload after resume power management event
+ restore-unloaded)
+ modprobe -r net_fd
+ ;;
+
+ # called to unload all usb device modules
+ unload)
+ modprobe -r $usbdmodule
+ ;;
+
+ *)
+ debug_mesg USBD $ACTION event not handled
+ exit 1
+ ;;
+ esac
+ ;;
+*)
+ debug_mesg USBD $INTERFACE-$ACTION event not handled
+ exit 1
+ ;;
+esac
+
+[ -e /proc/usb-monitor ] && echo "Done" > /proc/usb-monitor
+
+exit 0
+