提交 ff54bbd1 编写于 作者: W Wei Wang 提交者: Zhang Rui

thermal: core: skip update disabled thermal zones after suspend

It is unnecessary to update disabled thermal zones post suspend and
sometimes leads error/warning in bad behaved thermal drivers.
Signed-off-by: NWei Wang <wvw@google.com>
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
上级 f991de53
...@@ -1494,6 +1494,7 @@ static int thermal_pm_notify(struct notifier_block *nb, ...@@ -1494,6 +1494,7 @@ static int thermal_pm_notify(struct notifier_block *nb,
unsigned long mode, void *_unused) unsigned long mode, void *_unused)
{ {
struct thermal_zone_device *tz; struct thermal_zone_device *tz;
enum thermal_device_mode tz_mode;
switch (mode) { switch (mode) {
case PM_HIBERNATION_PREPARE: case PM_HIBERNATION_PREPARE:
...@@ -1506,6 +1507,13 @@ static int thermal_pm_notify(struct notifier_block *nb, ...@@ -1506,6 +1507,13 @@ static int thermal_pm_notify(struct notifier_block *nb,
case PM_POST_SUSPEND: case PM_POST_SUSPEND:
atomic_set(&in_suspend, 0); atomic_set(&in_suspend, 0);
list_for_each_entry(tz, &thermal_tz_list, node) { list_for_each_entry(tz, &thermal_tz_list, node) {
tz_mode = THERMAL_DEVICE_ENABLED;
if (tz->ops->get_mode)
tz->ops->get_mode(tz, &tz_mode);
if (tz_mode == THERMAL_DEVICE_DISABLED)
continue;
thermal_zone_device_init(tz); thermal_zone_device_init(tz);
thermal_zone_device_update(tz, thermal_zone_device_update(tz,
THERMAL_EVENT_UNSPECIFIED); THERMAL_EVENT_UNSPECIFIED);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册