#!/bin/sh
#
# check various platform device modes

SDLOGDIR=/media/mmcblk0p1/backuplogs/kernlogs
KERNLOGNAME=klog_last_boot
PSTORELOGNAME=pstore_last_boot

pstore_log_rotate() {
	for i in 8 7 6 5 4 3 2 1; do
		if [[ -f ${SDLOGDIR}/${PSTORELOGNAME}.${i} ]]; then
			mv -f ${SDLOGDIR}/${PSTORELOGNAME}.${i} ${SDLOGDIR}/${PSTORELOGNAME}.$((i+1))
		fi
	done

	if [[ -f ${SDLOGDIR}/${PSTORELOGNAME} ]]; then
		mv -f ${SDLOGDIR}/${PSTORELOGNAME} ${SDLOGDIR}/${PSTORELOGNAME}.1
	fi
}

log_rotate() {
	for i in 8 7 6 5 4 3 2 1; do
		if [[ -f ${SDLOGDIR}/${KERNLOGNAME}.${i} ]]; then
			mv -f ${SDLOGDIR}/${KERNLOGNAME}.${i} ${SDLOGDIR}/${KERNLOGNAME}.$((i+1))
		fi
	done

	if [[ -f ${SDLOGDIR}/${KERNLOGNAME} ]]; then
		mv -f ${SDLOGDIR}/${KERNLOGNAME} ${SDLOGDIR}/${KERNLOGNAME}.1
	fi
}

start() {
	echo -n "Checking device modes: "
	/ross/bin/mode-chk.sh all 2>/dev/null &
	echo "OK"

	echo -n "SRAM logging..."
	mkdir -p ${SDLOGDIR}
	log_rotate
	/ross/bin/sram_logging --kmsg-start > ${SDLOGDIR}/${KERNLOGNAME} 2>&1 &
	echo -1000 > /proc/$(pidof sram_logging)/oom_score_adj
	pstore_log_rotate
	/ross/bin/sram_logging --pstore-start > ${SDLOGDIR}/${PSTORELOGNAME} 2>&1 &
	echo "OK"
}

stop() {
	echo "OK"
}

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart|reload)
		stop
		start
		;;
	*)
		echo "Usage: $0 {start|stop|restart}"
		exit 1
		;;
esac

exit $?
