Thread (61 messages) 61 messages, 3 authors, 2012-08-23

Re: [PATCH 11/13] Thermal: Add a notification API

From: Eduardo Valentin <hidden>
Date: 2012-08-21 05:18:08

Hello,

On Mon, Aug 13, 2012 at 07:46:20AM +0000, R, Durgadoss wrote:
Hi Rui,

quoted
-----Original Message-----
From: Zhang, Rui
Sent: Monday, August 13, 2012 12:33 PM
To: R, Durgadoss
Cc: lenb@kernel.org; rjw@sisk.pl; linux-acpi@vger.kernel.org; linux-
pm@vger.kernel.org; eduardo.valentin@ti.com; amit.kachhap@linaro.org;
wni@nvidia.com
Subject: Re: [PATCH 11/13] Thermal: Add a notification API

On 四, 2012-08-09 at 18:16 +0530, Durgadoss R wrote:
quoted
This patch adds a notification API which the sensor drivers'
can use to notify the framework. The framework then takes
care of the throttling according to the configured policy.

Signed-off-by: Durgadoss R <redacted>
---
 drivers/thermal/thermal_sys.c |   18 ++++++++++++++++++
 include/linux/thermal.h       |    1 +
 2 files changed, 19 insertions(+)
diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c
index 193d071..6931d81 100644
--- a/drivers/thermal/thermal_sys.c
+++ b/drivers/thermal/thermal_sys.c
@@ -1309,6 +1309,24 @@ void thermal_cooling_device_unregister(struct
thermal_cooling_device *cdev)
quoted
 }
 EXPORT_SYMBOL(thermal_cooling_device_unregister);

+/**
+ * notify_thermal_framework - Sensor drivers use this API to notify
framework
quoted
+ * @tz:		thermal zone device
+ * @trip:	indicates which trip point has been crossed
+ *
+ * This function handles the trip events from sensor drivers. It starts
+ * throttling the cooling devices according to the policy configured.
+ * For CRITICAL and HOT trip points, this notifies the respective drivers,
+ * and does actual throttling for other trip points i.e ACTIVE and PASSIVE.
+ * The throttling policy is based on the configured platform data; if no
+ * platform data is provided, this uses the step_wise throttling policy.
+ */
+void notify_thermal_framework(struct thermal_zone_device *tz, int trip)
+{
+	handle_thermal_trip(tz, trip);
+}
+EXPORT_SYMBOL(notify_thermal_framework);
+
why thermal_zone_device_update() can not work here?
It can work. But thermal_zone_device_update() goes over the
list of all trip points whereas here we know 'trip' is the trip point
that we have to handle now. So, why do we need to iterate over all trip
points again ?
That’s why it is implemented this way.
I see. But there is no example of usage of this API on this series?
Thanks,
Durga
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help