OSDN Git Service

thermal-core: Add API to get temperature
authorArchana Sathyakumar <asathyak@codeaurora.org>
Wed, 12 Mar 2014 15:41:12 +0000 (09:41 -0600)
committerDavid Keitel <dkeitel@codeaurora.org>
Tue, 22 Mar 2016 18:08:23 +0000 (11:08 -0700)
Currently, there is no API to query the current temperature
in sensor framework. Add a generic API to get it.

Change-Id: I038e9a118e77eb6a3599b7d45a0cc8757990d2ef
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Conflicts:
include/linux/thermal.h

drivers/thermal/thermal_core.c
include/linux/thermal.h

index 72e6a9a..52e24ba 100644 (file)
@@ -402,6 +402,20 @@ int thermal_sensor_trip(struct thermal_zone_device *tz,
 }
 EXPORT_SYMBOL(thermal_sensor_trip);
 
+int sensor_get_temp(uint32_t sensor_id, long *temp)
+{
+       struct sensor_info *sensor = get_sensor(sensor_id);
+       int ret = 0;
+
+       if (!sensor)
+               return -ENODEV;
+
+       ret = sensor->tz->ops->get_temp(sensor->tz, temp);
+
+       return ret;
+}
+EXPORT_SYMBOL(sensor_get_temp);
+
 int sensor_activate_trip(uint32_t sensor_id,
        struct sensor_threshold *threshold, bool enable)
 {
index 89de2ca..af10c70 100644 (file)
@@ -447,6 +447,8 @@ struct thermal_instance *get_thermal_instance(struct thermal_zone_device *,
                struct thermal_cooling_device *, int);
 void thermal_cdev_update(struct thermal_cooling_device *);
 void thermal_notify_framework(struct thermal_zone_device *, int);
+
+int sensor_get_temp(uint32_t sensor_id, long *temp);
 int sensor_get_id(char *name);
 int sensor_set_trip(uint32_t sensor_id, struct sensor_threshold *threshold);
 int sensor_cancel_trip(uint32_t sensor_id, struct sensor_threshold *threshold);
@@ -528,6 +530,8 @@ static inline int sensor_cancel_trip(uint32_t sensor_id,
 static inline int thermal_sensor_trip(struct thermal_zone_device *tz,
                enum thermal_trip_type trip, unsigned long temp)
 { return -ENODEV;}
+static inline int sensor_get_temp(uint32_t sensor_id, long *temp)
+{ return -ENODEV;}
 
 #endif /* CONFIG_THERMAL */