#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/platform_device.h>
#include <linux/reboot.h>
#include <linux/watchdog.h>
#define DEFAULT_TIMEOUT …
#define RZN1_WDT_RETRIGGER …
#define RZN1_WDT_RETRIGGER_RELOAD_VAL …
#define RZN1_WDT_RETRIGGER_RELOAD_VAL_MASK …
#define RZN1_WDT_RETRIGGER_PRESCALE …
#define RZN1_WDT_RETRIGGER_ENABLE …
#define RZN1_WDT_RETRIGGER_WDSI …
#define RZN1_WDT_PRESCALER …
#define RZN1_WDT_MAX …
struct rzn1_watchdog { … };
static inline uint32_t max_heart_beat_ms(unsigned long clk_rate_khz)
{ … }
static inline uint32_t compute_reload_value(uint32_t tick_ms,
unsigned long clk_rate_khz)
{ … }
static int rzn1_wdt_ping(struct watchdog_device *w)
{ … }
static int rzn1_wdt_start(struct watchdog_device *w)
{ … }
static irqreturn_t rzn1_wdt_irq(int irq, void *_wdt)
{ … }
static struct watchdog_info rzn1_wdt_info = …;
static const struct watchdog_ops rzn1_wdt_ops = …;
static int rzn1_wdt_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id rzn1_wdt_match[] = …;
MODULE_DEVICE_TABLE(of, rzn1_wdt_match);
static struct platform_driver rzn1_wdt_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;