RK3588 Android12内核中可直接调用的关机和重启接口函数

这两个函数一般是在紧急或特殊情况下执行的硬件层面关机和重启函数(比如过温)。即非正常关机和重启流程(不含系统层面的关机重启前进程清理资源释放等过程)。

关机函数:void kernel_power_off(void)

定义代码文件:kernel-5.10\kernel\reboot.c,如下:

/**

* kernel_power_off - power_off the system

*

* Shutdown everything and perform a clean system power_off.

*/

void kernel_power_off(void)

{

kernel_shutdown_prepare(SYSTEM_POWER_OFF);

if (pm_power_off_prepare)

pm_power_off_prepare();

migrate_to_reboot_cpu();

syscore_shutdown();

pr_emerg("Power down\n");

kmsg_dump(KMSG_DUMP_SHUTDOWN);

machine_power_off();

}

EXPORT_SYMBOL_GPL(kernel_power_off);

内核其他代码中使用时:1,使用extern引用函数;2,直接调用函数。参考如下:

引用:

extern void kernel_power_off(void);

调用:

kernel_power_off();

重启函数:void kernel_restart(char *cmd)

定义代码文件:kernel-5.10\kernel\reboot.c,如下:

/**

* kernel_restart - reboot the system

* @cmd: pointer to buffer containing command to execute for restart

* or %NULL

*

* Shutdown everything and perform a clean reboot.

* This is not safe to call in interrupt context.

*/

void kernel_restart(char *cmd)

{

kernel_restart_prepare(cmd);

migrate_to_reboot_cpu();

syscore_shutdown();

if (!cmd)

pr_emerg("Restarting system\n");

else

pr_emerg("Restarting system with command '%s'\n", cmd);

kmsg_dump(KMSG_DUMP_SHUTDOWN);

machine_restart(cmd);

}

EXPORT_SYMBOL_GPL(kernel_restart);

内核其他代码中使用时:1,使用extern引用函数;2,直接调用函数。参考如下:

引用:

extern void kernel_restart(char *cmd)

调用:

kernel_restart(NULL);

相关推荐
程序猿编码3 天前
实战Linux内核模块:终止ptrace跟踪程序与被跟踪进程
linux·网络·内核·内核模块·ptrace
程序猿编码9 天前
深入浅出Linux内核级防火墙:IP/端口黑白名单的高性能实现
linux·c语言·c++·tcp/ip·内核
Qinti_mm11 天前
Linux高性能使用:架构、内核与系统的完美适配
linux·架构·内核·系统
草草_11 天前
【内核驱动基础】内核模块的两种编译方式(in-tree vs out-of-tree)
linux·驱动开发·内核
jiuri_121523 天前
深入理解 Linux 内核同步机制
linux·内核
gsls20080823 天前
移远EC20对UAC音频设备识别分析
内核·音频·alsa·固件·uac·ec20·移远
程序猿编码1 个月前
隐形的内核后门:无模块Linux内核植入技术详解
linux·c语言·内核·linux内核·内核植入
zfj3211 个月前
Linux内核和发行版的的区别、职责
linux·运维·服务器·内核·linux发行版
染指11101 个月前
24.IDA逆向句柄表算法-Windows驱动
windows·驱动开发·内核·保护·windows驱动
亚林瓜子1 个月前
mac上面重启Spotlight(解决搜索无法启用应用程序问题)
mac·重启·应用程序·spotlight