/* * SCU expects the input size for watchdog IPC to be 2 which is the * size of the structure in dwords. SCU IPC normally takes bytes * but this is a special case where we specify size to be different * than inlen.
*/
in_size = DIV_ROUND_UP(sizeof(ipc_wd_start), 4);
ret = wdt_command(mid, SCU_WATCHDOG_START, &ipc_wd_start, sizeof(ipc_wd_start), in_size); if (ret)
dev_crit(mid->dev, "error starting watchdog: %d\n", ret);
/* * The firmware followed by U-Boot leaves the watchdog running * with the default threshold which may vary. When we get here * we should make a decision to prevent any side effects before * user space daemon will take care of it. The best option, * taking into consideration that there is no way to read values * back from hardware, is to enforce watchdog being run with * deterministic values.
*/
ret = wdt_start(wdt_dev); if (ret) return ret;
/* Make sure the watchdog is serviced */
set_bit(WDOG_HW_RUNNING, &wdt_dev->status);
ret = devm_watchdog_register_device(dev, wdt_dev); if (ret) return ret;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.