Linux的关机流程
2008-07-15 13:49
218 查看
今天上午看了一下我们的手机的关机流程,参考了这个IBM网站上的资料:
http://www.ibm.com/developerworks/cn/linux/embed/l-rb/index.html
想起来看关机流程的一个原因是,手机在接着充电器的时候,从Prizm关机会变成重启,而直接使用poweroff命令,则会正常关机。
Prizm走正常关机流程,调用sys.c中的sys_reboot函数,cmd传入LINUX_REBOOT_CMD_POWER_OFF,进入switch后,系统会走machine_power_off这个函数,真正的完成关机操作。
machine_power_off中会调用pm_power_off 这个函数,而这个函数已经在我们的其他模块中设置为了m_power_off = (void *)as3604_poweroff;
所以,关机的时候,最后一步会走到我们的as3604_poweroff函数。
而对于Prizm带充电器关机时重启的问题,就是在as3604_poweroff中做了设置,如果关机时充电器插着,或者PowerKey被按下,则在这里调用machine_restart()进行重启,否则关闭AS3604的各个输出,最后调用as3604_write(AS3604_RESET_CONTROL,POWER_OFF);进行完全的关机。
http://www.ibm.com/developerworks/cn/linux/embed/l-rb/index.html
想起来看关机流程的一个原因是,手机在接着充电器的时候,从Prizm关机会变成重启,而直接使用poweroff命令,则会正常关机。
Prizm走正常关机流程,调用sys.c中的sys_reboot函数,cmd传入LINUX_REBOOT_CMD_POWER_OFF,进入switch后,系统会走machine_power_off这个函数,真正的完成关机操作。
machine_power_off中会调用pm_power_off 这个函数,而这个函数已经在我们的其他模块中设置为了m_power_off = (void *)as3604_poweroff;
所以,关机的时候,最后一步会走到我们的as3604_poweroff函数。
而对于Prizm带充电器关机时重启的问题,就是在as3604_poweroff中做了设置,如果关机时充电器插着,或者PowerKey被按下,则在这里调用machine_restart()进行重启,否则关闭AS3604的各个输出,最后调用as3604_write(AS3604_RESET_CONTROL,POWER_OFF);进行完全的关机。
相关文章推荐
- Linux关机重启流程分析
- Linux 关机重启流程分析
- linux关机时emmc驱动处理流程
- Linux 关机重启流程分析
- Linux关机(Power off)流程
- Linux 关机重启流程分析
- linux关机过程流程
- (转)android linux 关机流程
- 鸟哥的 Linux 私房菜20-- 开机关机流程与 Loader
- Linux 关机重启流程分析
- linux下的关机和重启流程
- Linux的启动和关机的流程、引导加载程序
- Linux关机重启流程分析
- Linux关机重启流程分析
- Linux学习笔记(一)-Linux操作系统启动流程以及系统关机命令
- Linux系统启动流程分析与关机流程
- Linux常见命令关机与重启命令
- Linux 的启动流程
- 深入浅出:linux的启动流程刨析(一)
- Linux 关机和重启命令