linux/drivers/hwmon/scmi-hwmon.c

// SPDX-License-Identifier: GPL-2.0
/*
 * System Control and Management Interface(SCMI) based hwmon sensor driver
 *
 * Copyright (C) 2018-2021 ARM Ltd.
 * Sudeep Holla <[email protected]>
 */

#include <linux/hwmon.h>
#include <linux/module.h>
#include <linux/scmi_protocol.h>
#include <linux/slab.h>
#include <linux/sysfs.h>
#include <linux/thermal.h>

static const struct scmi_sensor_proto_ops *sensor_ops;

struct scmi_sensors {};

struct scmi_thermal_sensor {};

static inline u64 __pow10(u8 x)
{}

static int scmi_hwmon_scale(const struct scmi_sensor_info *sensor, u64 *value)
{}

static int scmi_hwmon_read_scaled_value(const struct scmi_protocol_handle *ph,
					const struct scmi_sensor_info *sensor,
					long *val)
{}

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

static int
scmi_hwmon_read_string(struct device *dev, enum hwmon_sensor_types type,
		       u32 attr, int channel, const char **str)
{}

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

static const struct hwmon_ops scmi_hwmon_ops =;

static struct hwmon_chip_info scmi_chip_info =;

static int scmi_hwmon_thermal_get_temp(struct thermal_zone_device *tz,
				       int *temp)
{}

static const struct thermal_zone_device_ops scmi_hwmon_thermal_ops =;

static int scmi_hwmon_add_chan_info(struct hwmon_channel_info *scmi_hwmon_chan,
				    struct device *dev, int num,
				    enum hwmon_sensor_types type, u32 config)
{}

static enum hwmon_sensor_types scmi_types[] =;

static u32 hwmon_attributes[hwmon_max] =;

static int scmi_thermal_sensor_register(struct device *dev,
					const struct scmi_protocol_handle *ph,
					const struct scmi_sensor_info *sensor)
{}

static int scmi_hwmon_probe(struct scmi_device *sdev)
{}

static const struct scmi_device_id scmi_id_table[] =;
MODULE_DEVICE_TABLE(scmi, scmi_id_table);

static struct scmi_driver scmi_hwmon_drv =;
module_scmi_driver();

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