2012-12-06 00:45:58 +07:00
|
|
|
#ifndef LINUX_BCM47XX_WDT_H_
|
|
|
|
#define LINUX_BCM47XX_WDT_H_
|
|
|
|
|
2013-01-25 00:13:34 +07:00
|
|
|
#include <linux/notifier.h>
|
|
|
|
#include <linux/timer.h>
|
2012-12-06 00:45:58 +07:00
|
|
|
#include <linux/types.h>
|
2013-01-25 00:13:34 +07:00
|
|
|
#include <linux/watchdog.h>
|
2012-12-06 00:45:58 +07:00
|
|
|
|
|
|
|
|
|
|
|
struct bcm47xx_wdt {
|
|
|
|
u32 (*timer_set)(struct bcm47xx_wdt *, u32);
|
|
|
|
u32 (*timer_set_ms)(struct bcm47xx_wdt *, u32);
|
|
|
|
u32 max_timer_ms;
|
|
|
|
|
|
|
|
void *driver_data;
|
2013-01-25 00:13:34 +07:00
|
|
|
|
|
|
|
struct watchdog_device wdd;
|
|
|
|
struct notifier_block notifier;
|
2015-01-25 17:40:57 +07:00
|
|
|
struct notifier_block restart_handler;
|
2013-01-25 00:13:34 +07:00
|
|
|
|
|
|
|
struct timer_list soft_timer;
|
|
|
|
atomic_t soft_ticks;
|
2012-12-06 00:45:58 +07:00
|
|
|
};
|
|
|
|
|
|
|
|
static inline void *bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt *wdt)
|
|
|
|
{
|
|
|
|
return wdt->driver_data;
|
|
|
|
}
|
|
|
|
#endif /* LINUX_BCM47XX_WDT_H_ */
|