linux/drivers/watchdog/omap_wdt.c

// SPDX-License-Identifier: GPL-2.0
/*
 * omap_wdt.c
 *
 * Watchdog driver for the TI OMAP 16xx & 24xx/34xx 32KHz (non-secure) watchdog
 *
 * Author: MontaVista Software, Inc.
 *	 <[email protected]> or <[email protected]>
 *
 * 2003 (c) MontaVista Software, Inc.
 *
 * History:
 *
 * 20030527: George G. Davis <[email protected]>
 *	Initially based on linux-2.4.19-rmk7-pxa1/drivers/char/sa1100_wdt.c
 *	(c) Copyright 2000 Oleg Drokin <[email protected]>
 *	Based on SoftDog driver by Alan Cox <[email protected]>
 *
 * Copyright (c) 2004 Texas Instruments.
 *	1. Modified to support OMAP1610 32-KHz watchdog timer
 *	2. Ported to 2.6 kernel
 *
 * Copyright (c) 2005 David Brownell
 *	Use the driver model and standard identifiers; handle bigger timeouts.
 */

#define pr_fmt(fmt)

#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/watchdog.h>
#include <linux/reboot.h>
#include <linux/err.h>
#include <linux/platform_device.h>
#include <linux/moduleparam.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/pm_runtime.h>
#include <linux/platform_data/omap-wd-timer.h>

#include "omap_wdt.h"

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

static unsigned timer_margin;
module_param(timer_margin, uint, 0);
MODULE_PARM_DESC();

#define to_omap_wdt_dev(_wdog)

static bool early_enable;
module_param(early_enable, bool, 0);
MODULE_PARM_DESC();

struct omap_wdt_dev {};

static void omap_wdt_reload(struct omap_wdt_dev *wdev)
{}

static void omap_wdt_enable(struct omap_wdt_dev *wdev)
{}

static void omap_wdt_disable(struct omap_wdt_dev *wdev)
{}

static void omap_wdt_set_timer(struct omap_wdt_dev *wdev,
				   unsigned int timeout)
{}

static int omap_wdt_start(struct watchdog_device *wdog)
{}

static int omap_wdt_stop(struct watchdog_device *wdog)
{}

static int omap_wdt_ping(struct watchdog_device *wdog)
{}

static int omap_wdt_set_timeout(struct watchdog_device *wdog,
				unsigned int timeout)
{}

static unsigned int omap_wdt_get_timeleft(struct watchdog_device *wdog)
{}

static const struct watchdog_info omap_wdt_info =;

static const struct watchdog_ops omap_wdt_ops =;

static int omap_wdt_probe(struct platform_device *pdev)
{}

static void omap_wdt_shutdown(struct platform_device *pdev)
{}

static void omap_wdt_remove(struct platform_device *pdev)
{}

/* REVISIT ... not clear this is the best way to handle system suspend; and
 * it's very inappropriate for selective device suspend (e.g. suspending this
 * through sysfs rather than by stopping the watchdog daemon).  Also, this
 * may not play well enough with NOWAYOUT...
 */

static int omap_wdt_suspend(struct platform_device *pdev, pm_message_t state)
{}

static int omap_wdt_resume(struct platform_device *pdev)
{}

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

static struct platform_driver omap_wdt_driver =;

module_platform_driver();

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