diff mbox

thermal: ti-soc-thermal: Add set_emul_temp hook

Message ID 1462880530-13935-1-git-send-email-j-keerthy@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

J, KEERTHY May 10, 2016, 11:42 a.m. UTC
Setting the emulation temperature helps reproduce critical
temperature scenarios without risking the actual hardware at
extreme temperatures. Adding __ti_thermal_set_emul_temp as
the set_emul_temp hook.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---

Tested the emulation temperature feature on DRA72-EVM.

 drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

Comments

Keerthy May 20, 2016, 5:58 a.m. UTC | #1
On Tuesday 10 May 2016 05:12 PM, Keerthy wrote:
> Setting the emulation temperature helps reproduce critical
> temperature scenarios without risking the actual hardware at
> extreme temperatures. Adding __ti_thermal_set_emul_temp as
> the set_emul_temp hook.

A gentle ping on this.

>
> Signed-off-by: Keerthy <j-keerthy@ti.com>
> ---
>
> Tested the emulation temperature feature on DRA72-EVM.
>
>   drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 15 +++++++++++++++
>   1 file changed, 15 insertions(+)
>
> diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> index b213a12..e6f7025 100644
> --- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> +++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> @@ -278,6 +278,20 @@ static int ti_thermal_get_trend(struct thermal_zone_device *thermal,
>   	return 0;
>   }
>
> +static int __ti_thermal_set_emul_temp(void *p, int temp)
> +{
> +	struct ti_thermal_data *data = p;
> +	struct thermal_zone_device *tz;
> +
> +	tz = data->ti_thermal;
> +
> +	mutex_lock(&tz->lock);
> +	tz->emul_temperature = temp;
> +	mutex_unlock(&tz->lock);
> +
> +	return 0;
> +}
> +
>   /* Get critical temperature callback functions for thermal zone */
>   static int ti_thermal_get_crit_temp(struct thermal_zone_device *thermal,
>   				    int *temp)
> @@ -289,6 +303,7 @@ static int ti_thermal_get_crit_temp(struct thermal_zone_device *thermal,
>   static const struct thermal_zone_of_device_ops ti_of_thermal_ops = {
>   	.get_temp = __ti_thermal_get_temp,
>   	.get_trend = __ti_thermal_get_trend,
> +	.set_emul_temp = __ti_thermal_set_emul_temp,
>   };
>
>   static struct thermal_zone_device_ops ti_thermal_ops = {
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
index b213a12..e6f7025 100644
--- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
+++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
@@ -278,6 +278,20 @@  static int ti_thermal_get_trend(struct thermal_zone_device *thermal,
 	return 0;
 }
 
+static int __ti_thermal_set_emul_temp(void *p, int temp)
+{
+	struct ti_thermal_data *data = p;
+	struct thermal_zone_device *tz;
+
+	tz = data->ti_thermal;
+
+	mutex_lock(&tz->lock);
+	tz->emul_temperature = temp;
+	mutex_unlock(&tz->lock);
+
+	return 0;
+}
+
 /* Get critical temperature callback functions for thermal zone */
 static int ti_thermal_get_crit_temp(struct thermal_zone_device *thermal,
 				    int *temp)
@@ -289,6 +303,7 @@  static int ti_thermal_get_crit_temp(struct thermal_zone_device *thermal,
 static const struct thermal_zone_of_device_ops ti_of_thermal_ops = {
 	.get_temp = __ti_thermal_get_temp,
 	.get_trend = __ti_thermal_get_trend,
+	.set_emul_temp = __ti_thermal_set_emul_temp,
 };
 
 static struct thermal_zone_device_ops ti_thermal_ops = {