mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
thermal: add hwmon sysfs I/F
Add hwmon sys I/F for generic thermal driver. Note: we have one hwmon class device for EACH TYPE of the thermal zone device. Signed-off-by: Zhang Rui <rui.zhang@intel.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
9ec732ff80
commit
e68b16abd9
2 changed files with 187 additions and 0 deletions
|
@ -66,6 +66,23 @@ struct thermal_cooling_device {
|
|||
((long)t-2732+5)/10 : ((long)t-2732-5)/10)
|
||||
#define CELSIUS_TO_KELVIN(t) ((t)*10+2732)
|
||||
|
||||
#if defined(CONFIG_HWMON) || \
|
||||
(defined(CONFIG_HWMON_MODULE) && defined(CONFIG_THERMAL_MODULE))
|
||||
/* thermal zone devices with the same type share one hwmon device */
|
||||
struct thermal_hwmon_device {
|
||||
char type[THERMAL_NAME_LENGTH];
|
||||
struct device *device;
|
||||
int count;
|
||||
struct list_head tz_list;
|
||||
struct list_head node;
|
||||
};
|
||||
|
||||
struct thermal_hwmon_attr {
|
||||
struct device_attribute attr;
|
||||
char name[16];
|
||||
};
|
||||
#endif
|
||||
|
||||
struct thermal_zone_device {
|
||||
int id;
|
||||
char type[THERMAL_NAME_LENGTH];
|
||||
|
@ -77,6 +94,13 @@ struct thermal_zone_device {
|
|||
struct idr idr;
|
||||
struct mutex lock; /* protect cooling devices list */
|
||||
struct list_head node;
|
||||
#if defined(CONFIG_HWMON) || \
|
||||
(defined(CONFIG_HWMON_MODULE) && defined(CONFIG_THERMAL_MODULE))
|
||||
struct list_head hwmon_node;
|
||||
struct thermal_hwmon_device *hwmon;
|
||||
struct thermal_hwmon_attr temp_input; /* hwmon sys attr */
|
||||
struct thermal_hwmon_attr temp_crit; /* hwmon sys attr */
|
||||
#endif
|
||||
};
|
||||
|
||||
struct thermal_zone_device *thermal_zone_device_register(char *, int, void *,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue