diff options
| author | Durgadoss R <durgadoss.r@intel.com> | 2012-09-18 01:35:05 -0400 |
|---|---|---|
| committer | Zhang Rui <rui.zhang@intel.com> | 2012-11-05 01:00:08 -0500 |
| commit | f2b4caafd4aa64c9438b0a94af78b127228e6905 (patch) | |
| tree | 164004dabe45f3cf1d2c4575258e23c3907636fe /drivers/thermal | |
| parent | 0c01ebbfd3caf1dc132e0d93c8e7e9f742839d94 (diff) | |
Thermal: Add a notification API
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 <durgadoss.r@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Diffstat (limited to 'drivers/thermal')
| -rw-r--r-- | drivers/thermal/thermal_sys.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c index 64f3e973531..a69f24c4414 100644 --- a/drivers/thermal/thermal_sys.c +++ b/drivers/thermal/thermal_sys.c | |||
| @@ -1369,6 +1369,24 @@ void thermal_cdev_update(struct thermal_cooling_device *cdev) | |||
| 1369 | EXPORT_SYMBOL(thermal_cdev_update); | 1369 | EXPORT_SYMBOL(thermal_cdev_update); |
| 1370 | 1370 | ||
| 1371 | /** | 1371 | /** |
| 1372 | * notify_thermal_framework - Sensor drivers use this API to notify framework | ||
| 1373 | * @tz: thermal zone device | ||
| 1374 | * @trip: indicates which trip point has been crossed | ||
| 1375 | * | ||
| 1376 | * This function handles the trip events from sensor drivers. It starts | ||
| 1377 | * throttling the cooling devices according to the policy configured. | ||
| 1378 | * For CRITICAL and HOT trip points, this notifies the respective drivers, | ||
| 1379 | * and does actual throttling for other trip points i.e ACTIVE and PASSIVE. | ||
| 1380 | * The throttling policy is based on the configured platform data; if no | ||
| 1381 | * platform data is provided, this uses the step_wise throttling policy. | ||
| 1382 | */ | ||
| 1383 | void notify_thermal_framework(struct thermal_zone_device *tz, int trip) | ||
| 1384 | { | ||
| 1385 | handle_thermal_trip(tz, trip); | ||
| 1386 | } | ||
| 1387 | EXPORT_SYMBOL(notify_thermal_framework); | ||
| 1388 | |||
| 1389 | /** | ||
| 1372 | * create_trip_attrs - create attributes for trip points | 1390 | * create_trip_attrs - create attributes for trip points |
| 1373 | * @tz: the thermal zone device | 1391 | * @tz: the thermal zone device |
| 1374 | * @mask: Writeable trip point bitmap. | 1392 | * @mask: Writeable trip point bitmap. |
