Linux kernel armlinux';s arm_pm_restart()

Linux kernel armlinux';s arm_pm_restart(),linux-kernel,arm,linux-device-driver,Linux Kernel,Arm,Linux Device Driver,我正在尝试为以下内核API引入功能: extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd); 我想知道第二个参数char*cmd的用途 我无法合理解释第二个参数cmd的必要性,尽管第一个参数reboot\u mode是合理的 有人能解释一下吗 我想知道第二个参数char*cmd的用途是什么 有人能解释一下吗 这被称为via,而via又被称为。根据内核文档 @cmd:指向缓冲区的指针,该缓冲

我正在尝试为以下内核API引入功能:

extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
  • 我想知道第二个参数char*cmd的用途

  • 我无法合理解释第二个参数cmd的必要性,尽管第一个参数reboot\u mode是合理的

有人能解释一下吗

我想知道第二个参数
char*cmd
的用途是什么
有人能解释一下吗

这被称为via,而via又被称为。根据内核文档

@cmd:指向缓冲区的指针,该缓冲区包含要重新启动的命令或%NULL

您可以将命令传递给note,这就是您看到的。在大多数情况下,手臂挂钩只是忽略了它。您可以检查它的
NULL
,也可以忽略它

人工2重新启动

上述操作的精确效果取决于体系结构。对于i386体系结构,附加参数目前没有任何作用(2.1.122),但是可以通过内核命令行参数(“reboot=…”)确定重新启动的类型,即热重启或冷重启,硬重启或通过BIOS重启

您可以随意忽略它,但如果您需要用户空间来发出特殊信号,您可以使用它。几乎总是会得到
cmd==NULL

注意:此命令总是失败返回;它不应该回来;-)有关此
CMD
为非空的情况,请参阅定义
LINUX\u重新启动\u CMD\u重新启动2

我想知道第二个参数
char*cmd
的用途是什么
有人能解释一下吗

这被称为via,而via又被称为。根据内核文档

@cmd:指向缓冲区的指针,该缓冲区包含要重新启动的命令或%NULL

您可以将命令传递给note,这就是您看到的。在大多数情况下,手臂挂钩只是忽略了它。您可以检查它的
NULL
,也可以忽略它

人工2重新启动

上述操作的精确效果取决于体系结构。对于i386体系结构,附加参数目前没有任何作用(2.1.122),但是可以通过内核命令行参数(“reboot=…”)确定重新启动的类型,即热重启或冷重启,硬重启或通过BIOS重启

您可以随意忽略它,但如果您需要用户空间来发出特殊信号,您可以使用它。几乎总是会得到
cmd==NULL

注意:此命令总是失败返回;它不应该回来;-)有关此
CMD
为非空的情况,请参阅定义
LINUX\u重新启动\u CMD\u重新启动2