26
2017
09

[RK3399][Android6.0] 系统关机调用过程小结

Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

关机方法调用的是命令:
#reboot -p

因此用户空间调用过程以及系统调用都是和前文  [RK3399][Android6.0] 系统重启调用过程小结 一致的,差异就在于后面的参数引起最终调用的流程不同.

流程如下:

KEYWORD(powerctl, COMMAND, 1, do_powerctl) -> //keywords.h 根据传进来的字符串转换命令。
 android_reboot -> //android_reboot.c
  __reboot -> //reboot.h 系统调用,陷入内核。
   SYSCALL_DEFINE4 -> //kernel/sys.c
    kernel_power_off -> //sys.c 走case: LINUX_REBOOT_CMD_POWER_OFF
     machine_power_off ->
      pm_power_off -> //process.c
       rk818_device_shutdown -> //rk818.c

上一篇:多线程使用信号量sem_init,sem_wait,sem_post 下一篇:[RK3288][Android6.0] 调试笔记 --- Camera动态热插拔支持