Linux 4.16.11
[linux/fpc-iii.git] / drivers / watchdog / pretimeout_panic.c
blob0c197a1c97f445a94f9a0b87ad7785050b084c2b
1 /*
2 * Copyright (C) 2015-2016 Mentor Graphics
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 */
11 #include <linux/kernel.h>
12 #include <linux/module.h>
13 #include <linux/watchdog.h>
15 #include "watchdog_pretimeout.h"
17 /**
18 * pretimeout_panic - Panic on watchdog pretimeout event
19 * @wdd - watchdog_device
21 * Panic, watchdog has not been fed till pretimeout event.
23 static void pretimeout_panic(struct watchdog_device *wdd)
25 panic("watchdog pretimeout event\n");
28 static struct watchdog_governor watchdog_gov_panic = {
29 .name = "panic",
30 .pretimeout = pretimeout_panic,
33 static int __init watchdog_gov_panic_register(void)
35 return watchdog_register_governor(&watchdog_gov_panic);
38 static void __exit watchdog_gov_panic_unregister(void)
40 watchdog_unregister_governor(&watchdog_gov_panic);
42 module_init(watchdog_gov_panic_register);
43 module_exit(watchdog_gov_panic_unregister);
45 MODULE_AUTHOR("Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>");
46 MODULE_DESCRIPTION("Panic watchdog pretimeout governor");
47 MODULE_LICENSE("GPL");