linux/drivers/watchdog/ep93xx_wdt.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Watchdog driver for Cirrus Logic EP93xx family of devices.
 *
 * Copyright (c) 2004 Ray Lehtiniemi
 * Copyright (c) 2006 Tower Technologies
 * Based on ep93xx driver, bits from alim7101_wdt.c
 *
 * Authors: Ray Lehtiniemi <[email protected]>,
 *	Alessandro Zummo <[email protected]>
 *
 * Copyright (c) 2012 H Hartley Sweeten <[email protected]>
 *	Convert to a platform device and use the watchdog framework API
 *
 * This watchdog fires after 250msec, which is a too short interval
 * for us to rely on the user space daemon alone. So we ping the
 * wdt each ~200msec and eventually stop doing it if the user space
 * daemon dies.
 */

#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/watchdog.h>
#include <linux/io.h>

/* default timeout (secs) */
#define WDT_TIMEOUT

static bool nowayout = WATCHDOG_NOWAYOUT;
module_param(nowayout, bool, 0);
MODULE_PARM_DESC();

static unsigned int timeout;
module_param(timeout, uint, 0);
MODULE_PARM_DESC();

#define EP93XX_WATCHDOG
#define EP93XX_WDSTATUS

struct ep93xx_wdt_priv {};

static int ep93xx_wdt_start(struct watchdog_device *wdd)
{}

static int ep93xx_wdt_stop(struct watchdog_device *wdd)
{}

static int ep93xx_wdt_ping(struct watchdog_device *wdd)
{}

static const struct watchdog_info ep93xx_wdt_ident =;

static const struct watchdog_ops ep93xx_wdt_ops =;

static int ep93xx_wdt_probe(struct platform_device *pdev)
{}

static struct platform_driver ep93xx_wdt_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();