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 | |
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')
-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 | } |