|
@@ -1,3 +1,4 @@
|
|
|
|
+// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
/*
|
|
* thermal.c - sysfs interface of thermal devices
|
|
* thermal.c - sysfs interface of thermal devices
|
|
*
|
|
*
|
|
@@ -7,10 +8,6 @@
|
|
* Copyright (C) 2008 Intel Corp
|
|
* Copyright (C) 2008 Intel Corp
|
|
* Copyright (C) 2008 Zhang Rui <rui.zhang@intel.com>
|
|
* Copyright (C) 2008 Zhang Rui <rui.zhang@intel.com>
|
|
* Copyright (C) 2008 Sujith Thomas <sujith.thomas@intel.com>
|
|
* Copyright (C) 2008 Sujith Thomas <sujith.thomas@intel.com>
|
|
- *
|
|
|
|
- * This program is free software; you can redistribute it and/or modify
|
|
|
|
- * it under the terms of the GNU General Public License as published by
|
|
|
|
- * the Free Software Foundation; version 2 of the License.
|
|
|
|
*/
|
|
*/
|
|
|
|
|
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
|
@@ -381,7 +378,7 @@ sustainable_power_store(struct device *dev, struct device_attribute *devattr,
|
|
\
|
|
\
|
|
return count; \
|
|
return count; \
|
|
} \
|
|
} \
|
|
- static DEVICE_ATTR(name, S_IWUSR | S_IRUGO, name##_show, name##_store)
|
|
|
|
|
|
+ static DEVICE_ATTR_RW(name)
|
|
|
|
|
|
create_s32_tzp_attr(k_po);
|
|
create_s32_tzp_attr(k_po);
|
|
create_s32_tzp_attr(k_pu);
|
|
create_s32_tzp_attr(k_pu);
|
|
@@ -668,17 +665,15 @@ void thermal_zone_destroy_device_groups(struct thermal_zone_device *tz)
|
|
|
|
|
|
/* sys I/F for cooling device */
|
|
/* sys I/F for cooling device */
|
|
static ssize_t
|
|
static ssize_t
|
|
-thermal_cooling_device_type_show(struct device *dev,
|
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
|
|
|
+cdev_type_show(struct device *dev, struct device_attribute *attr, char *buf)
|
|
{
|
|
{
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
|
|
|
|
return sprintf(buf, "%s\n", cdev->type);
|
|
return sprintf(buf, "%s\n", cdev->type);
|
|
}
|
|
}
|
|
|
|
|
|
-static ssize_t
|
|
|
|
-thermal_cooling_device_max_state_show(struct device *dev,
|
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
|
|
|
+static ssize_t max_state_show(struct device *dev, struct device_attribute *attr,
|
|
|
|
+ char *buf)
|
|
{
|
|
{
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
unsigned long state;
|
|
unsigned long state;
|
|
@@ -690,9 +685,8 @@ thermal_cooling_device_max_state_show(struct device *dev,
|
|
return sprintf(buf, "%ld\n", state);
|
|
return sprintf(buf, "%ld\n", state);
|
|
}
|
|
}
|
|
|
|
|
|
-static ssize_t
|
|
|
|
-thermal_cooling_device_cur_state_show(struct device *dev,
|
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
|
|
|
+static ssize_t cur_state_show(struct device *dev, struct device_attribute *attr,
|
|
|
|
+ char *buf)
|
|
{
|
|
{
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
unsigned long state;
|
|
unsigned long state;
|
|
@@ -705,9 +699,8 @@ thermal_cooling_device_cur_state_show(struct device *dev,
|
|
}
|
|
}
|
|
|
|
|
|
static ssize_t
|
|
static ssize_t
|
|
-thermal_cooling_device_cur_state_store(struct device *dev,
|
|
|
|
- struct device_attribute *attr,
|
|
|
|
- const char *buf, size_t count)
|
|
|
|
|
|
+cur_state_store(struct device *dev, struct device_attribute *attr,
|
|
|
|
+ const char *buf, size_t count)
|
|
{
|
|
{
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
unsigned long state;
|
|
unsigned long state;
|
|
@@ -726,13 +719,10 @@ thermal_cooling_device_cur_state_store(struct device *dev,
|
|
return count;
|
|
return count;
|
|
}
|
|
}
|
|
|
|
|
|
-static struct device_attribute dev_attr_cdev_type =
|
|
|
|
-__ATTR(type, 0444, thermal_cooling_device_type_show, NULL);
|
|
|
|
-static DEVICE_ATTR(max_state, 0444,
|
|
|
|
- thermal_cooling_device_max_state_show, NULL);
|
|
|
|
-static DEVICE_ATTR(cur_state, 0644,
|
|
|
|
- thermal_cooling_device_cur_state_show,
|
|
|
|
- thermal_cooling_device_cur_state_store);
|
|
|
|
|
|
+static struct device_attribute
|
|
|
|
+dev_attr_cdev_type = __ATTR(type, 0444, cdev_type_show, NULL);
|
|
|
|
+static DEVICE_ATTR_RO(max_state);
|
|
|
|
+static DEVICE_ATTR_RW(cur_state);
|
|
|
|
|
|
static struct attribute *cooling_device_attrs[] = {
|
|
static struct attribute *cooling_device_attrs[] = {
|
|
&dev_attr_cdev_type.attr,
|
|
&dev_attr_cdev_type.attr,
|
|
@@ -791,10 +781,8 @@ unlock:
|
|
spin_unlock(&stats->lock);
|
|
spin_unlock(&stats->lock);
|
|
}
|
|
}
|
|
|
|
|
|
-static ssize_t
|
|
|
|
-thermal_cooling_device_total_trans_show(struct device *dev,
|
|
|
|
- struct device_attribute *attr,
|
|
|
|
- char *buf)
|
|
|
|
|
|
+static ssize_t total_trans_show(struct device *dev,
|
|
|
|
+ struct device_attribute *attr, char *buf)
|
|
{
|
|
{
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct cooling_dev_stats *stats = cdev->stats;
|
|
struct cooling_dev_stats *stats = cdev->stats;
|
|
@@ -808,9 +796,8 @@ thermal_cooling_device_total_trans_show(struct device *dev,
|
|
}
|
|
}
|
|
|
|
|
|
static ssize_t
|
|
static ssize_t
|
|
-thermal_cooling_device_time_in_state_show(struct device *dev,
|
|
|
|
- struct device_attribute *attr,
|
|
|
|
- char *buf)
|
|
|
|
|
|
+time_in_state_ms_show(struct device *dev, struct device_attribute *attr,
|
|
|
|
+ char *buf)
|
|
{
|
|
{
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct cooling_dev_stats *stats = cdev->stats;
|
|
struct cooling_dev_stats *stats = cdev->stats;
|
|
@@ -830,9 +817,8 @@ thermal_cooling_device_time_in_state_show(struct device *dev,
|
|
}
|
|
}
|
|
|
|
|
|
static ssize_t
|
|
static ssize_t
|
|
-thermal_cooling_device_reset_store(struct device *dev,
|
|
|
|
- struct device_attribute *attr,
|
|
|
|
- const char *buf, size_t count)
|
|
|
|
|
|
+reset_store(struct device *dev, struct device_attribute *attr, const char *buf,
|
|
|
|
+ size_t count)
|
|
{
|
|
{
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct cooling_dev_stats *stats = cdev->stats;
|
|
struct cooling_dev_stats *stats = cdev->stats;
|
|
@@ -853,10 +839,8 @@ thermal_cooling_device_reset_store(struct device *dev,
|
|
return count;
|
|
return count;
|
|
}
|
|
}
|
|
|
|
|
|
-static ssize_t
|
|
|
|
-thermal_cooling_device_trans_table_show(struct device *dev,
|
|
|
|
- struct device_attribute *attr,
|
|
|
|
- char *buf)
|
|
|
|
|
|
+static ssize_t trans_table_show(struct device *dev,
|
|
|
|
+ struct device_attribute *attr, char *buf)
|
|
{
|
|
{
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct thermal_cooling_device *cdev = to_cooling_device(dev);
|
|
struct cooling_dev_stats *stats = cdev->stats;
|
|
struct cooling_dev_stats *stats = cdev->stats;
|
|
@@ -899,13 +883,10 @@ thermal_cooling_device_trans_table_show(struct device *dev,
|
|
return len;
|
|
return len;
|
|
}
|
|
}
|
|
|
|
|
|
-static DEVICE_ATTR(total_trans, 0444, thermal_cooling_device_total_trans_show,
|
|
|
|
- NULL);
|
|
|
|
-static DEVICE_ATTR(time_in_state_ms, 0444,
|
|
|
|
- thermal_cooling_device_time_in_state_show, NULL);
|
|
|
|
-static DEVICE_ATTR(reset, 0200, NULL, thermal_cooling_device_reset_store);
|
|
|
|
-static DEVICE_ATTR(trans_table, 0444,
|
|
|
|
- thermal_cooling_device_trans_table_show, NULL);
|
|
|
|
|
|
+static DEVICE_ATTR_RO(total_trans);
|
|
|
|
+static DEVICE_ATTR_RO(time_in_state_ms);
|
|
|
|
+static DEVICE_ATTR_WO(reset);
|
|
|
|
+static DEVICE_ATTR_RO(trans_table);
|
|
|
|
|
|
static struct attribute *cooling_device_stats_attrs[] = {
|
|
static struct attribute *cooling_device_stats_attrs[] = {
|
|
&dev_attr_total_trans.attr,
|
|
&dev_attr_total_trans.attr,
|
|
@@ -980,8 +961,7 @@ void thermal_cooling_device_destroy_sysfs(struct thermal_cooling_device *cdev)
|
|
|
|
|
|
/* these helper will be used only at the time of bindig */
|
|
/* these helper will be used only at the time of bindig */
|
|
ssize_t
|
|
ssize_t
|
|
-thermal_cooling_device_trip_point_show(struct device *dev,
|
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
|
|
|
+trip_point_show(struct device *dev, struct device_attribute *attr, char *buf)
|
|
{
|
|
{
|
|
struct thermal_instance *instance;
|
|
struct thermal_instance *instance;
|
|
|
|
|
|
@@ -995,8 +975,7 @@ thermal_cooling_device_trip_point_show(struct device *dev,
|
|
}
|
|
}
|
|
|
|
|
|
ssize_t
|
|
ssize_t
|
|
-thermal_cooling_device_weight_show(struct device *dev,
|
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
|
|
|
+weight_show(struct device *dev, struct device_attribute *attr, char *buf)
|
|
{
|
|
{
|
|
struct thermal_instance *instance;
|
|
struct thermal_instance *instance;
|
|
|
|
|
|
@@ -1005,10 +984,8 @@ thermal_cooling_device_weight_show(struct device *dev,
|
|
return sprintf(buf, "%d\n", instance->weight);
|
|
return sprintf(buf, "%d\n", instance->weight);
|
|
}
|
|
}
|
|
|
|
|
|
-ssize_t
|
|
|
|
-thermal_cooling_device_weight_store(struct device *dev,
|
|
|
|
- struct device_attribute *attr,
|
|
|
|
- const char *buf, size_t count)
|
|
|
|
|
|
+ssize_t weight_store(struct device *dev, struct device_attribute *attr,
|
|
|
|
+ const char *buf, size_t count)
|
|
{
|
|
{
|
|
struct thermal_instance *instance;
|
|
struct thermal_instance *instance;
|
|
int ret, weight;
|
|
int ret, weight;
|