xref: /openbmc/linux/include/linux/bcm47xx_wdt.h (revision e6c81cce)
1 #ifndef LINUX_BCM47XX_WDT_H_
2 #define LINUX_BCM47XX_WDT_H_
3 
4 #include <linux/notifier.h>
5 #include <linux/timer.h>
6 #include <linux/types.h>
7 #include <linux/watchdog.h>
8 
9 
10 struct bcm47xx_wdt {
11 	u32 (*timer_set)(struct bcm47xx_wdt *, u32);
12 	u32 (*timer_set_ms)(struct bcm47xx_wdt *, u32);
13 	u32 max_timer_ms;
14 
15 	void *driver_data;
16 
17 	struct watchdog_device wdd;
18 	struct notifier_block notifier;
19 	struct notifier_block restart_handler;
20 
21 	struct timer_list soft_timer;
22 	atomic_t soft_ticks;
23 };
24 
25 static inline void *bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt *wdt)
26 {
27 	return wdt->driver_data;
28 }
29 #endif /* LINUX_BCM47XX_WDT_H_ */
30