1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (C) 2015-2016 Mentor Graphics
6 #include <linux/kernel.h>
7 #include <linux/module.h>
8 #include <linux/watchdog.h>
10 #include "watchdog_pretimeout.h"
13 * pretimeout_panic - Panic on watchdog pretimeout event
14 * @wdd - watchdog_device
16 * Panic, watchdog has not been fed till pretimeout event.
18 static void pretimeout_panic(struct watchdog_device
*wdd
)
20 panic("watchdog pretimeout event\n");
23 static struct watchdog_governor watchdog_gov_panic
= {
25 .pretimeout
= pretimeout_panic
,
28 static int __init
watchdog_gov_panic_register(void)
30 return watchdog_register_governor(&watchdog_gov_panic
);
33 static void __exit
watchdog_gov_panic_unregister(void)
35 watchdog_unregister_governor(&watchdog_gov_panic
);
37 module_init(watchdog_gov_panic_register
);
38 module_exit(watchdog_gov_panic_unregister
);
40 MODULE_AUTHOR("Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>");
41 MODULE_DESCRIPTION("Panic watchdog pretimeout governor");
42 MODULE_LICENSE("GPL");