#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/mcb.h>
#include <linux/module.h>
#include <linux/watchdog.h>
struct men_z069_drv { … };
#define MEN_Z069_WTR …
#define MEN_Z069_WTR_WDEN …
#define MEN_Z069_WTR_WDET_MASK …
#define MEN_Z069_WVR …
#define MEN_Z069_TIMER_FREQ …
#define MEN_Z069_WDT_COUNTER_MIN …
#define MEN_Z069_WDT_COUNTER_MAX …
#define MEN_Z069_DEFAULT_TIMEOUT …
static bool nowayout = … WATCHDOG_NOWAYOUT;
module_param(nowayout, bool, 0);
MODULE_PARM_DESC(…) …;
static int men_z069_wdt_start(struct watchdog_device *wdt)
{ … }
static int men_z069_wdt_stop(struct watchdog_device *wdt)
{ … }
static int men_z069_wdt_ping(struct watchdog_device *wdt)
{ … }
static int men_z069_wdt_set_timeout(struct watchdog_device *wdt,
unsigned int timeout)
{ … }
static const struct watchdog_info men_z069_info = …;
static const struct watchdog_ops men_z069_ops = …;
static int men_z069_probe(struct mcb_device *dev,
const struct mcb_device_id *id)
{ … }
static void men_z069_remove(struct mcb_device *dev)
{ … }
static const struct mcb_device_id men_z069_ids[] = …;
MODULE_DEVICE_TABLE(mcb, men_z069_ids);
static struct mcb_driver men_z069_driver = …;
module_mcb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;
MODULE_IMPORT_NS(…);