diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-28 22:48:26 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-28 22:48:26 -0500 |
| commit | 2af78448fff61e13392daf4f770cfbcf9253316a (patch) | |
| tree | 6c0494284dd1dd737d5f76ee19c553618e8d0e54 /include/linux | |
| parent | 5e04f4b4290e03deb91b074087ae8d7c169d947d (diff) | |
| parent | f5b6d45f8cf688f51140fd21f1da3b90562762a9 (diff) | |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
Pull thermal management updates from Zhang Rui:
"Highlights:
- introduction of Dove thermal sensor driver.
- introduction of Kirkwood thermal sensor driver.
- introduction of intel_powerclamp thermal cooling device driver.
- add interrupt and DT support for rcar thermal driver.
- add thermal emulation support which allows platform thermal driver
to do software/hardware emulation for thermal issues."
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (36 commits)
thermal: rcar: remove __devinitconst
thermal: return an error on failure to register thermal class
Thermal: rename thermal governor Kconfig option to avoid generic naming
thermal: exynos: Use the new thermal trend type for quick cooling action.
Thermal: exynos: Add support for temperature falling interrupt.
Thermal: Dove: Add Themal sensor support for Dove.
thermal: Add support for the thermal sensor on Kirkwood SoCs
thermal: rcar: add Device Tree support
thermal: rcar: remove machine_power_off() from rcar_thermal_notify()
thermal: rcar: add interrupt support
thermal: rcar: add read/write functions for common/priv data
thermal: rcar: multi channel support
thermal: rcar: use mutex lock instead of spin lock
thermal: rcar: enable CPCTL to use hardware TSC deciding
thermal: rcar: use parenthesis on macro
Thermal: fix a build warning when CONFIG_THERMAL_EMULATION cleared
Thermal: fix a wrong comment
thermal: sysfs: Add a new sysfs node emul_temp for thermal emulation
PM: intel_powerclamp: off by one in start_power_clamp()
thermal: exynos: Miscellaneous fixes to support falling threshold interrupt
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/platform_data/exynos_thermal.h | 3 | ||||
| -rw-r--r-- | include/linux/thermal.h | 10 |
2 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/platform_data/exynos_thermal.h b/include/linux/platform_data/exynos_thermal.h index a7bdb2f63b73..da7e6274b175 100644 --- a/include/linux/platform_data/exynos_thermal.h +++ b/include/linux/platform_data/exynos_thermal.h | |||
| @@ -53,6 +53,8 @@ struct freq_clip_table { | |||
| 53 | * struct exynos_tmu_platform_data | 53 | * struct exynos_tmu_platform_data |
| 54 | * @threshold: basic temperature for generating interrupt | 54 | * @threshold: basic temperature for generating interrupt |
| 55 | * 25 <= threshold <= 125 [unit: degree Celsius] | 55 | * 25 <= threshold <= 125 [unit: degree Celsius] |
| 56 | * @threshold_falling: differntial value for setting threshold | ||
| 57 | * of temperature falling interrupt. | ||
| 56 | * @trigger_levels: array for each interrupt levels | 58 | * @trigger_levels: array for each interrupt levels |
| 57 | * [unit: degree Celsius] | 59 | * [unit: degree Celsius] |
| 58 | * 0: temperature for trigger_level0 interrupt | 60 | * 0: temperature for trigger_level0 interrupt |
| @@ -97,6 +99,7 @@ struct freq_clip_table { | |||
| 97 | */ | 99 | */ |
| 98 | struct exynos_tmu_platform_data { | 100 | struct exynos_tmu_platform_data { |
| 99 | u8 threshold; | 101 | u8 threshold; |
| 102 | u8 threshold_falling; | ||
| 100 | u8 trigger_levels[4]; | 103 | u8 trigger_levels[4]; |
| 101 | bool trigger_level0_en; | 104 | bool trigger_level0_en; |
| 102 | bool trigger_level1_en; | 105 | bool trigger_level1_en; |
diff --git a/include/linux/thermal.h b/include/linux/thermal.h index fe82022478e7..f0bd7f90a90d 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h | |||
| @@ -74,6 +74,8 @@ enum thermal_trend { | |||
| 74 | THERMAL_TREND_STABLE, /* temperature is stable */ | 74 | THERMAL_TREND_STABLE, /* temperature is stable */ |
| 75 | THERMAL_TREND_RAISING, /* temperature is raising */ | 75 | THERMAL_TREND_RAISING, /* temperature is raising */ |
| 76 | THERMAL_TREND_DROPPING, /* temperature is dropping */ | 76 | THERMAL_TREND_DROPPING, /* temperature is dropping */ |
| 77 | THERMAL_TREND_RAISE_FULL, /* apply highest cooling action */ | ||
| 78 | THERMAL_TREND_DROP_FULL, /* apply lowest cooling action */ | ||
| 77 | }; | 79 | }; |
| 78 | 80 | ||
| 79 | /* Events supported by Thermal Netlink */ | 81 | /* Events supported by Thermal Netlink */ |
| @@ -121,6 +123,7 @@ struct thermal_zone_device_ops { | |||
| 121 | int (*set_trip_hyst) (struct thermal_zone_device *, int, | 123 | int (*set_trip_hyst) (struct thermal_zone_device *, int, |
| 122 | unsigned long); | 124 | unsigned long); |
| 123 | int (*get_crit_temp) (struct thermal_zone_device *, unsigned long *); | 125 | int (*get_crit_temp) (struct thermal_zone_device *, unsigned long *); |
| 126 | int (*set_emul_temp) (struct thermal_zone_device *, unsigned long); | ||
| 124 | int (*get_trend) (struct thermal_zone_device *, int, | 127 | int (*get_trend) (struct thermal_zone_device *, int, |
| 125 | enum thermal_trend *); | 128 | enum thermal_trend *); |
| 126 | int (*notify) (struct thermal_zone_device *, int, | 129 | int (*notify) (struct thermal_zone_device *, int, |
| @@ -163,6 +166,7 @@ struct thermal_zone_device { | |||
| 163 | int polling_delay; | 166 | int polling_delay; |
| 164 | int temperature; | 167 | int temperature; |
| 165 | int last_temperature; | 168 | int last_temperature; |
| 169 | int emul_temperature; | ||
| 166 | int passive; | 170 | int passive; |
| 167 | unsigned int forced_passive; | 171 | unsigned int forced_passive; |
| 168 | const struct thermal_zone_device_ops *ops; | 172 | const struct thermal_zone_device_ops *ops; |
| @@ -244,9 +248,11 @@ int thermal_register_governor(struct thermal_governor *); | |||
| 244 | void thermal_unregister_governor(struct thermal_governor *); | 248 | void thermal_unregister_governor(struct thermal_governor *); |
| 245 | 249 | ||
| 246 | #ifdef CONFIG_NET | 250 | #ifdef CONFIG_NET |
| 247 | extern int thermal_generate_netlink_event(u32 orig, enum events event); | 251 | extern int thermal_generate_netlink_event(struct thermal_zone_device *tz, |
| 252 | enum events event); | ||
| 248 | #else | 253 | #else |
| 249 | static inline int thermal_generate_netlink_event(u32 orig, enum events event) | 254 | static int thermal_generate_netlink_event(struct thermal_zone_device *tz, |
| 255 | enum events event) | ||
| 250 | { | 256 | { |
| 251 | return 0; | 257 | return 0; |
| 252 | } | 258 | } |
