1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef LINUX_BCM47XX_WDT_H_
3 #define LINUX_BCM47XX_WDT_H_
4 
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 
19 	struct timer_list soft_timer;
20 	atomic_t soft_ticks;
21 };
22 
bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt * wdt)23 static inline void *bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt *wdt)
24 {
25 	return wdt->driver_data;
26 }
27 #endif /* LINUX_BCM47XX_WDT_H_ */
28