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
...
This commit is contained in:
commit
2af78448ff
23 changed files with 2342 additions and 274 deletions
|
|
@ -53,6 +53,8 @@ struct freq_clip_table {
|
|||
* struct exynos_tmu_platform_data
|
||||
* @threshold: basic temperature for generating interrupt
|
||||
* 25 <= threshold <= 125 [unit: degree Celsius]
|
||||
* @threshold_falling: differntial value for setting threshold
|
||||
* of temperature falling interrupt.
|
||||
* @trigger_levels: array for each interrupt levels
|
||||
* [unit: degree Celsius]
|
||||
* 0: temperature for trigger_level0 interrupt
|
||||
|
|
@ -97,6 +99,7 @@ struct freq_clip_table {
|
|||
*/
|
||||
struct exynos_tmu_platform_data {
|
||||
u8 threshold;
|
||||
u8 threshold_falling;
|
||||
u8 trigger_levels[4];
|
||||
bool trigger_level0_en;
|
||||
bool trigger_level1_en;
|
||||
|
|
|
|||
|
|
@ -74,6 +74,8 @@ enum thermal_trend {
|
|||
THERMAL_TREND_STABLE, /* temperature is stable */
|
||||
THERMAL_TREND_RAISING, /* temperature is raising */
|
||||
THERMAL_TREND_DROPPING, /* temperature is dropping */
|
||||
THERMAL_TREND_RAISE_FULL, /* apply highest cooling action */
|
||||
THERMAL_TREND_DROP_FULL, /* apply lowest cooling action */
|
||||
};
|
||||
|
||||
/* Events supported by Thermal Netlink */
|
||||
|
|
@ -121,6 +123,7 @@ struct thermal_zone_device_ops {
|
|||
int (*set_trip_hyst) (struct thermal_zone_device *, int,
|
||||
unsigned long);
|
||||
int (*get_crit_temp) (struct thermal_zone_device *, unsigned long *);
|
||||
int (*set_emul_temp) (struct thermal_zone_device *, unsigned long);
|
||||
int (*get_trend) (struct thermal_zone_device *, int,
|
||||
enum thermal_trend *);
|
||||
int (*notify) (struct thermal_zone_device *, int,
|
||||
|
|
@ -163,6 +166,7 @@ struct thermal_zone_device {
|
|||
int polling_delay;
|
||||
int temperature;
|
||||
int last_temperature;
|
||||
int emul_temperature;
|
||||
int passive;
|
||||
unsigned int forced_passive;
|
||||
const struct thermal_zone_device_ops *ops;
|
||||
|
|
@ -244,9 +248,11 @@ int thermal_register_governor(struct thermal_governor *);
|
|||
void thermal_unregister_governor(struct thermal_governor *);
|
||||
|
||||
#ifdef CONFIG_NET
|
||||
extern int thermal_generate_netlink_event(u32 orig, enum events event);
|
||||
extern int thermal_generate_netlink_event(struct thermal_zone_device *tz,
|
||||
enum events event);
|
||||
#else
|
||||
static inline int thermal_generate_netlink_event(u32 orig, enum events event)
|
||||
static int thermal_generate_netlink_event(struct thermal_zone_device *tz,
|
||||
enum events event)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue