#!/bin/sh
wait_for_device ()
{
	if [ ! -e "$1" ]; then
		echo "$2"

		# Default delay is 180s
		slumber=3
		slumber=$(( ${slumber} * 10 ))
		while [ ${slumber} -gt 0 ] && [ ! -e "$1" ]; do
			/bin/sleep 0.1
			slumber=$(( ${slumber} - 1 ))
		done
	fi
}

try_to_resume ()
{
	resume=`/bin/cat /tmp/resume`
	[ -n "$resume" ] || return 0
	echo resuming from "$resume"

	if [ ! -e "${resume}" ]; then
		wait_for_device "$resume" "Waiting for resume device"
	fi

	if [ -e "$resume" ]; then
		# hardcode path, uswsusp ships an resume binary too
		echo going to /bin/resume "$resume"
		/bin/resume "$resume"
	else
		echo "Resume device $resume not found - doing normal boot"
	fi
}

try_to_resume2 ()
{
	[ -n "$resume2" ] || return 0

	[ -e /sys/power/suspend2/do_resume ] || {
		echo "Kernel does not support resume"
		return 0
	}

	echo > /sys/power/suspend2/do_resume
}

try_to_resume
try_to_resume2


echo ok - finished premount with resume $resume
