#! /bin/sh
# 
# ke-recv	Kernel UEvents to D-BUS system daemon proxy etc.
#
#		Written by Timo Ters based on skeleton code
#		written by Miquel van Smoorenburg <miquels@cistron.nl>.
#		Modified for Debian 
#		by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/ke-recv
NAME=ke-recv
DESC="ke-recv"
USER=root
DTOOL=/usr/sbin/dsmetool
PARAMS=''


test -x $DAEMON || exit 0

source /etc/osso-af-init/af-defines.sh

if [ "x$INTERNAL_MMC_MOUNTPOINT" != "x" ]; then
  MMC_WHOLE_DEVICE='/dev/mmcblk1'
  INTERNAL_MMC_WHOLE_DEVICE='/dev/mmcblk0'

  INTERNAL_MMC_COVER_OP='/org/kernel/devices/platform/gpio_switch/bat_cover/cover_switch'
  INTERNAL_SYSFS_MMC_COVER_FILE='/sys/devices/platform/gpio-switch/bat_cover/cover_switch'
  export INTERNAL_MMC_COVER_OP INTERNAL_SYSFS_MMC_COVER_FILE
else
  MMC_WHOLE_DEVICE='/dev/mmcblk0'
fi

MMC_DEVICE_FILE_WITHOUT_PARTITION=$MMC_WHOLE_DEVICE
MMC_DEVICE_FILE_WITH_PARTITION="${MMC_WHOLE_DEVICE}p1"
TMP=`echo "$MMC_WHOLE_DEVICE" | sed 's#/# #g' | awk '{print $2}'`
MMC_DEVICE_OP="/org/kernel/block/$TMP"
MMC_SYSFS_FILE=$MMC_WHOLE_DEVICE
export MMC_DEVICE_FILE_WITHOUT_PARTITION MMC_DEVICE_FILE_WITH_PARTITION \
       MMC_DEVICE_OP MMC_SYSFS_FILE

if [ "x$INTERNAL_MMC_WHOLE_DEVICE" != "x" ]; then
  INTERNAL_MMC_DEVICE_FILE_WITHOUT_PARTITION=$INTERNAL_MMC_WHOLE_DEVICE
  INTERNAL_MMC_DEVICE_FILE_WITH_PARTITION="${INTERNAL_MMC_WHOLE_DEVICE}p1"
  TMP=`echo "$INTERNAL_MMC_WHOLE_DEVICE" | sed 's#/# #g' | awk '{print $2}'`
  INTERNAL_MMC_DEVICE_OP="/org/kernel/block/$TMP"
  INTERNAL_MMC_SYSFS_FILE=$INTERNAL_MMC_WHOLE_DEVICE
  export INTERNAL_MMC_DEVICE_FILE_WITHOUT_PARTITION INTERNAL_MMC_DEVICE_OP \
         INTERNAL_MMC_DEVICE_FILE_WITH_PARTITION INTERNAL_MMC_SYSFS_FILE
fi

MMC_COVER_OP='/org/kernel/devices/platform/mmci_omap_2/cover_switch'
MMC_COVER_OP2='/org/kernel/devices/platform/mmci_omap_1/cover_switch'
SYSFS_MMC_COVER_FILE='/sys/devices/platform/mmci-omap.2/cover_switch'
SYSFS_MMC_COVER_FILE2='/sys/devices/platform/mmci-omap.1/cover_switch'
export MMC_COVER_OP MMC_COVER_OP2 SYSFS_MMC_COVER_FILE SYSFS_MMC_COVER_FILE2

USB_CABLE_OP='/org/kernel/devices/platform/tahvo_usb/vbus_state'
USB_CABLE_OP2='/org/kernel/devices/cbus_omap/tahvo_usb/vbus_state'
SYSFS_USB_CABLE_FILE='/sys/devices/platform/tahvo-usb/vbus_state'
SYSFS_USB_CABLE_FILE2='/sys/devices/cbus-omap/tahvo-usb/vbus_state'
SYSFS_USB_MODE_FILE='/sys/devices/platform/tahvo-usb/otg_mode'
export USB_CABLE_OP USB_CABLE_OP2 SYSFS_USB_CABLE_FILE \
       SYSFS_USB_CABLE_FILE2 SYSFS_USB_MODE_FILE


case "$1" in
  start)
	# Start daemons
	echo -n "Starting $DESC: "
	if [ -x $DTOOL ]; then
        	$DTOOL -U $USER -n -1 -t $DAEMON
	else
		start-stop-daemon -b --start --quiet --user $USER \
			--exec $DAEMON -- $PARAMS
	fi
	echo "$NAME."
	;;
  stop)
	echo -n "Stopping $DESC: "
	if [ -x $DTOOL ]; then
		$DTOOL -k $DAEMON
	else
		start-stop-daemon --stop --quiet --oknodo --user $USER \
			--exec $DAEMON -- $PARAMS
	fi
	echo "$NAME."
	;;
  reload|restart|force-reload)
	#
	#	If the "reload" option is implemented, move the "force-reload"
	#	option to the "reload" entry above. If not, "force-reload" is
	#	just the same as "restart".
	#
	"$0" stop
	"$0" start
	;;
  *)
	N=/etc/init.d/$NAME
	# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
	echo "Usage: $N {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
