linux/drivers/watchdog/advantech_ec_wdt.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 *	Advantech Embedded Controller Watchdog Driver
 *
 *	This driver supports Advantech products with ITE based Embedded Controller.
 *	It does not support Advantech products with other ECs or without EC.
 *
 *	Copyright (C) 2022 Advantech Europe B.V.
 */

#include <linux/delay.h>
#include <linux/io.h>
#include <linux/isa.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/watchdog.h>

#define DRIVER_NAME

/* EC IO region */
#define EC_BASE_ADDR
#define EC_ADDR_EXTENT

/* EC minimum IO access delay in ms */
#define EC_MIN_DELAY

/* EC interface definitions */
#define EC_ADDR_CMD
#define EC_ADDR_DATA
#define EC_CMD_EC_PROBE
#define EC_CMD_COMM
#define EC_CMD_WDT_START
#define EC_CMD_WDT_STOP
#define EC_CMD_WDT_RESET
#define EC_DAT_EN_DLY_H
#define EC_DAT_EN_DLY_L
#define EC_DAT_RST_DLY_H
#define EC_DAT_RST_DLY_L
#define EC_MAGIC

/* module parameters */
#define MIN_TIME
#define MAX_TIME
#define DEFAULT_TIME

static unsigned int timeout;
static ktime_t ec_timestamp;

module_param(timeout, uint, 0);
MODULE_PARM_DESC();

static void adv_ec_wdt_timing_gate(void)
{}

static void adv_ec_wdt_outb(unsigned char value, unsigned short port)
{}

static unsigned char adv_ec_wdt_inb(unsigned short port)
{}

static int adv_ec_wdt_ping(struct watchdog_device *wdd)
{}

static int adv_ec_wdt_set_timeout(struct watchdog_device *wdd, unsigned int t)
{}

static int adv_ec_wdt_start(struct watchdog_device *wdd)
{}

static int adv_ec_wdt_stop(struct watchdog_device *wdd)
{}

static const struct watchdog_info adv_ec_wdt_info =;

static const struct watchdog_ops adv_ec_wdt_ops =;

static struct watchdog_device adv_ec_wdt_dev =;

static int adv_ec_wdt_probe(struct device *dev, unsigned int id)
{}

static struct isa_driver adv_ec_wdt_driver =;

static int __init adv_ec_wdt_init(void)
{}

static void __exit adv_ec_wdt_exit(void)
{}

module_init();
module_exit(adv_ec_wdt_exit);

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