工具/软件:
您好:
我想询问 在“K3 RTI WDT“驱动器中显式设置 CONFIG_WATCHDOG_NOWAYOUT 是否有、或者原因是什么?
static int rti_wdt_probe(struct platform_device *pdev)
{
// ...
watchdog_set_drvdata(wdd, wdt);
watchdog_set_nowayout(wdd, 1); // <--
watchdog_set_restart_priority(wdd, 128);
}
“问题“(更好的调整)是、当我们关闭或重新启动电路板时、会收到以下消息:
kernel: watchdog: watchdog0: nowayout prevents watchdog being stopped! kernel: watchdog: watchdog0: watchdog did not stop!
我被要求删除这些错误消息,似乎这种行为是与系统 D 从 wathdog 分离的那一刻相关的。 问题在于看门狗内核 在调用尝试.stop 函数(未在 K3 RTI WDT 驱动程序中实现)之前会评估 WDOG_NO_WAY_OUT。 因此、我的想法是在 RTI WDT 驱动器中使用 CONFIG_WATCHDOG_NOWAYOUT、而不是显式将其设置为 1:
static int rti_wdt_probe(struct platform_device *pdev)
{
// ...
watchdog_set_drvdata(wdd, wdt);
watchdog_set_nowayout(wdd, IS_ENABLED(CONFIG_WATCHDOG_NOWAYOUT)); // <--
watchdog_set_restart_priority(wdd, 128);
}
我试了一下、发现上面提到的信息已经消失了。 因此,我询问您这样做时是否有其他一些影响 — RTI WDT 似乎没有处理 WDOG_NO_WAY_OUT 位。