#include <linux/err.h>
#include <linux/export.h>
#include <linux/hwmon.h>
#include <linux/slab.h>
#include <linux/thermal.h>
#include "thermal_hwmon.h"
#include "thermal_core.h"
struct thermal_hwmon_device { … };
struct thermal_hwmon_attr { … };
struct thermal_hwmon_temp { … };
static LIST_HEAD(thermal_hwmon_list);
static DEFINE_MUTEX(thermal_hwmon_list_lock);
static ssize_t
temp_input_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static ssize_t
temp_crit_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static struct thermal_hwmon_device *
thermal_hwmon_lookup_by_type(const struct thermal_zone_device *tz)
{ … }
static struct thermal_hwmon_temp *
thermal_hwmon_lookup_temp(const struct thermal_hwmon_device *hwmon,
const struct thermal_zone_device *tz)
{ … }
static bool thermal_zone_crit_temp_valid(struct thermal_zone_device *tz)
{ … }
int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
{ … }
EXPORT_SYMBOL_GPL(…);
void thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz)
{ … }
EXPORT_SYMBOL_GPL(…);
static void devm_thermal_hwmon_release(struct device *dev, void *res)
{ … }
int devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device *tz)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_IMPORT_NS(…);