thermal: use integers rather than strings for thermal values
The thermal API currently uses strings to pass values to userspace. This makes it difficult to use from within the kernel. Change the interface to use integers and fix up the consumers. Signed-off-by: Matthew Garrett <mjg@redhat.com> Acked-by: Zhang Rui <rui.zhang@intel.com> Acked-by: Thomas Renninger <trenn@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
committed by
Len Brown
parent
d2f8d7ee1a
commit
6503e5df08
@@ -31,23 +31,39 @@
|
||||
struct thermal_zone_device;
|
||||
struct thermal_cooling_device;
|
||||
|
||||
enum thermal_device_mode {
|
||||
THERMAL_DEVICE_DISABLED = 0,
|
||||
THERMAL_DEVICE_ENABLED,
|
||||
};
|
||||
|
||||
enum thermal_trip_type {
|
||||
THERMAL_TRIP_ACTIVE = 0,
|
||||
THERMAL_TRIP_PASSIVE,
|
||||
THERMAL_TRIP_HOT,
|
||||
THERMAL_TRIP_CRITICAL,
|
||||
};
|
||||
|
||||
struct thermal_zone_device_ops {
|
||||
int (*bind) (struct thermal_zone_device *,
|
||||
struct thermal_cooling_device *);
|
||||
int (*unbind) (struct thermal_zone_device *,
|
||||
struct thermal_cooling_device *);
|
||||
int (*get_temp) (struct thermal_zone_device *, char *);
|
||||
int (*get_mode) (struct thermal_zone_device *, char *);
|
||||
int (*set_mode) (struct thermal_zone_device *, const char *);
|
||||
int (*get_trip_type) (struct thermal_zone_device *, int, char *);
|
||||
int (*get_trip_temp) (struct thermal_zone_device *, int, char *);
|
||||
int (*get_temp) (struct thermal_zone_device *, unsigned long *);
|
||||
int (*get_mode) (struct thermal_zone_device *,
|
||||
enum thermal_device_mode *);
|
||||
int (*set_mode) (struct thermal_zone_device *,
|
||||
enum thermal_device_mode);
|
||||
int (*get_trip_type) (struct thermal_zone_device *, int,
|
||||
enum thermal_trip_type *);
|
||||
int (*get_trip_temp) (struct thermal_zone_device *, int,
|
||||
unsigned long *);
|
||||
int (*get_crit_temp) (struct thermal_zone_device *, unsigned long *);
|
||||
};
|
||||
|
||||
struct thermal_cooling_device_ops {
|
||||
int (*get_max_state) (struct thermal_cooling_device *, char *);
|
||||
int (*get_cur_state) (struct thermal_cooling_device *, char *);
|
||||
int (*set_cur_state) (struct thermal_cooling_device *, unsigned int);
|
||||
int (*get_max_state) (struct thermal_cooling_device *, unsigned long *);
|
||||
int (*get_cur_state) (struct thermal_cooling_device *, unsigned long *);
|
||||
int (*set_cur_state) (struct thermal_cooling_device *, unsigned long);
|
||||
};
|
||||
|
||||
#define THERMAL_TRIPS_NONE -1
|
||||
|
Reference in New Issue
Block a user