0001
0002 #ifndef LINUX_BCM47XX_WDT_H_
0003 #define LINUX_BCM47XX_WDT_H_
0004
0005 #include <linux/timer.h>
0006 #include <linux/types.h>
0007 #include <linux/watchdog.h>
0008
0009
0010 struct bcm47xx_wdt {
0011 u32 (*timer_set)(struct bcm47xx_wdt *, u32);
0012 u32 (*timer_set_ms)(struct bcm47xx_wdt *, u32);
0013 u32 max_timer_ms;
0014
0015 void *driver_data;
0016
0017 struct watchdog_device wdd;
0018
0019 struct timer_list soft_timer;
0020 atomic_t soft_ticks;
0021 };
0022
0023 static inline void *bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt *wdt)
0024 {
0025 return wdt->driver_data;
0026 }
0027 #endif