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
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
19 struct timer_list soft_timer;
20 atomic_t soft_ticks;
21};
22
23static inline void *bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt *wdt)
24{
25 return wdt->driver_data;
26}
27#endif /* LINUX_BCM47XX_WDT_H_ */
28