From: Archana Sathyakumar Date: Wed, 12 Mar 2014 15:41:12 +0000 (-0600) Subject: thermal-core: Add API to get temperature X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=7ca5e4817342c078d17dac0e6d901b895391751e;p=sagit-ice-cold%2Fkernel_xiaomi_msm8998.git thermal-core: Add API to get temperature 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 Conflicts: include/linux/thermal.h --- diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 72e6a9a67d3e..52e24ba45fc9 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -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) { diff --git a/include/linux/thermal.h b/include/linux/thermal.h index 89de2ca82974..af10c703601b 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h @@ -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 */