linux/drivers/hwmon/ftsteutates.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Support for the FTS Systemmonitoring Chip "Teutates"
 *
 * Copyright (C) 2016 Fujitsu Technology Solutions GmbH,
 *		  Thilo Cestonaro <[email protected]>
 */
#include <linux/err.h>
#include <linux/hwmon.h>
#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/jiffies.h>
#include <linux/math.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <linux/watchdog.h>

#define FTS_DEVICE_ID_REG
#define FTS_DEVICE_REVISION_REG
#define FTS_DEVICE_STATUS_REG
#define FTS_SATELLITE_STATUS_REG
#define FTS_EVENT_STATUS_REG
#define FTS_GLOBAL_CONTROL_REG

#define FTS_DEVICE_DETECT_REG_1
#define FTS_DEVICE_DETECT_REG_2
#define FTS_DEVICE_DETECT_REG_3

#define FTS_SENSOR_EVENT_REG

#define FTS_FAN_EVENT_REG
#define FTS_FAN_PRESENT_REG

#define FTS_POWER_ON_TIME_COUNTER_A
#define FTS_POWER_ON_TIME_COUNTER_B
#define FTS_POWER_ON_TIME_COUNTER_C

#define FTS_PAGE_SELECT_REG

#define FTS_WATCHDOG_TIME_PRESET
#define FTS_WATCHDOG_CONTROL

#define FTS_NO_FAN_SENSORS
#define FTS_NO_TEMP_SENSORS
#define FTS_NO_VOLT_SENSORS

#define FTS_FAN_SOURCE_INVALID

static const unsigned short normal_i2c[] =;

static const struct i2c_device_id fts_id[] =;
MODULE_DEVICE_TABLE(i2c, fts_id);

enum WATCHDOG_RESOLUTION {};

struct fts_data {};

#define FTS_REG_FAN_INPUT(idx)
#define FTS_REG_FAN_SOURCE(idx)
#define FTS_REG_FAN_CONTROL(idx)

#define FTS_REG_TEMP_INPUT(idx)
#define FTS_REG_TEMP_CONTROL(idx)

#define FTS_REG_VOLT(idx)

/*****************************************************************************/
/* I2C Helper functions							     */
/*****************************************************************************/
static int fts_read_byte(struct i2c_client *client, unsigned short reg)
{}

static int fts_write_byte(struct i2c_client *client, unsigned short reg,
			  unsigned char value)
{}

/*****************************************************************************/
/* Data Updater Helper function						     */
/*****************************************************************************/
static int fts_update_device(struct fts_data *data)
{}

/*****************************************************************************/
/* Watchdog functions							     */
/*****************************************************************************/
static int fts_wd_set_resolution(struct fts_data *data,
				 enum WATCHDOG_RESOLUTION resolution)
{}

static int fts_wd_set_timeout(struct watchdog_device *wdd, unsigned int timeout)
{}

static int fts_wd_start(struct watchdog_device *wdd)
{}

static int fts_wd_stop(struct watchdog_device *wdd)
{}

static const struct watchdog_info fts_wd_info =;

static const struct watchdog_ops fts_wd_ops =;

static int fts_watchdog_init(struct fts_data *data)
{}

static umode_t fts_is_visible(const void *devdata, enum hwmon_sensor_types type, u32 attr,
			      int channel)
{}

static int fts_read(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel,
		    long *val)
{}

static int fts_write(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel,
		     long val)
{}

static const struct hwmon_ops fts_ops =;

static const struct hwmon_channel_info * const fts_info[] =;

static const struct hwmon_chip_info fts_chip_info =;

/*****************************************************************************/
/* Module initialization / remove functions				     */
/*****************************************************************************/
static int fts_detect(struct i2c_client *client,
		      struct i2c_board_info *info)
{}

static int fts_probe(struct i2c_client *client)
{}

/*****************************************************************************/
/* Module Details							     */
/*****************************************************************************/
static struct i2c_driver fts_driver =;

module_i2c_driver();

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