#!/bin/sh

# Import run environment
source /etc/run.env

# the mtd num of modem partiton
MTD_PART_NUM=0
PART_NAME=modem

case "$1" in
  start)
        echo -n "Starting modem dependent daemons: "
        search_dir="/sys/bus/msm_subsys/devices/"
        for entry in `ls $search_dir`
        do
            subsys_temp=`cat $search_dir/$entry/name`
            if [ "$subsys_temp" == "modem" ]
            then
                break
            fi
        done
        counter=0
        while [ ${counter} -le 150 ]
        do
           msstate=`cat $search_dir/$entry/state`
           if [ "$msstate" == "ONLINE" ]
           then
              echo "Load modem done"
              exit 0
           fi
           counter=$(( $counter + 1 ))
           usleep 100000
        done
        echo "Load modem error"
        # Exit if this module doesn't dual system
        is_dual_system
        if [ $? -eq ${SWI_TRUE} ]; then
            /usr/bin/swidssd read modem
            DS_MODEM_SUB_SYSTEM_FLAG=$?
            if [ $DS_MODEM_SUB_SYSTEM_FLAG -eq $DS_SYSTEM_2_FLAG ]; then
                PART_NAME=modem2
            fi
            MTD_PART_NUM=$(cat /proc/mtd | grep ${PART_NAME} -w | awk '{print $1}' | sed 's/mtd//g;s/://g')
            swap_dual_system ${MTD_PART_NUM}
        else
            echo "It is not a dual system"
        fi
        exit 1
        ;;
  stop)
        echo "done"
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage mssboot { start | stop | restart}" >&2
        exit 1
        ;;
esac

exit 0
