linux/drivers/watchdog/at91rm9200_wdt.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Watchdog driver for Atmel AT91RM9200 (Thunder)
 *
 *  Copyright (C) 2003 SAN People (Pty) Ltd
 *
 */

#define pr_fmt(fmt)

#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/mfd/syscon.h>
#include <linux/mfd/syscon/atmel-st.h>
#include <linux/miscdevice.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/platform_device.h>
#include <linux/reboot.h>
#include <linux/regmap.h>
#include <linux/types.h>
#include <linux/watchdog.h>
#include <linux/uaccess.h>

#define WDT_DEFAULT_TIME
#define WDT_MAX_TIME

static int wdt_time =;
static bool nowayout = WATCHDOG_NOWAYOUT;
static struct regmap *regmap_st;

module_param(wdt_time, int, 0);
MODULE_PARM_DESC();

#ifdef CONFIG_WATCHDOG_NOWAYOUT
module_param(nowayout, bool, 0);
MODULE_PARM_DESC();
#endif


static unsigned long at91wdt_busy;

/* ......................................................................... */

static int at91rm9200_restart(struct notifier_block *this,
					unsigned long mode, void *cmd)
{}

static struct notifier_block at91rm9200_restart_nb =;

/*
 * Disable the watchdog.
 */
static inline void at91_wdt_stop(void)
{}

/*
 * Enable and reset the watchdog.
 */
static inline void at91_wdt_start(void)
{}

/*
 * Reload the watchdog timer.  (ie, pat the watchdog)
 */
static inline void at91_wdt_reload(void)
{}

/* ......................................................................... */

/*
 * Watchdog device is opened, and watchdog starts running.
 */
static int at91_wdt_open(struct inode *inode, struct file *file)
{}

/*
 * Close the watchdog device.
 * If CONFIG_WATCHDOG_NOWAYOUT is NOT defined then the watchdog is also
 *  disabled.
 */
static int at91_wdt_close(struct inode *inode, struct file *file)
{}

/*
 * Change the watchdog time interval.
 */
static int at91_wdt_settimeout(int new_time)
{}

static const struct watchdog_info at91_wdt_info =;

/*
 * Handle commands from user-space.
 */
static long at91_wdt_ioctl(struct file *file,
					unsigned int cmd, unsigned long arg)
{}

/*
 * Pat the watchdog whenever device is written to.
 */
static ssize_t at91_wdt_write(struct file *file, const char *data,
						size_t len, loff_t *ppos)
{}

/* ......................................................................... */

static const struct file_operations at91wdt_fops =;

static struct miscdevice at91wdt_miscdev =;

static int at91wdt_probe(struct platform_device *pdev)
{}

static void at91wdt_remove(struct platform_device *pdev)
{}

static void at91wdt_shutdown(struct platform_device *pdev)
{}

static int at91wdt_suspend(struct platform_device *pdev, pm_message_t message)
{}

static int at91wdt_resume(struct platform_device *pdev)
{}

static const struct of_device_id at91_wdt_dt_ids[] =;
MODULE_DEVICE_TABLE(of, at91_wdt_dt_ids);

static struct platform_driver at91wdt_driver =;

static int __init at91_wdt_init(void)
{}

static void __exit at91_wdt_exit(void)
{}

module_init();
module_exit(at91_wdt_exit);

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