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
10struct 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
25static inline void *bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt *wdt)
26{
27	return wdt->driver_data;
28}
29#endif /* LINUX_BCM47XX_WDT_H_ */
30