thermal: trip: Split thermal_zone_device_set_mode()
[ Upstream commite5f98896ef] Pull a wrapper around thermal zone .change_mode() callback out of thermal_zone_device_set_mode() because it will be used elsewhere subsequently. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/2206793.irdbgypaU6@rjwysocki.net Stable-dep-of:f7c1b0e4ae("thermal: core: Back off when polling thermal zones on errors") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d5fe884ce2
commit
4530d81ef5
@@ -272,6 +272,22 @@ static int __init thermal_register_governors(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int __thermal_zone_device_set_mode(struct thermal_zone_device *tz,
|
||||
enum thermal_device_mode mode)
|
||||
{
|
||||
if (tz->ops.change_mode) {
|
||||
int ret;
|
||||
|
||||
ret = tz->ops.change_mode(tz, mode);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
tz->mode = mode;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Zone update section: main control loop applied to each zone while monitoring
|
||||
* in polling mode. The monitoring is done using a workqueue.
|
||||
@@ -537,7 +553,7 @@ monitor:
|
||||
static int thermal_zone_device_set_mode(struct thermal_zone_device *tz,
|
||||
enum thermal_device_mode mode)
|
||||
{
|
||||
int ret = 0;
|
||||
int ret;
|
||||
|
||||
mutex_lock(&tz->lock);
|
||||
|
||||
@@ -545,14 +561,15 @@ static int thermal_zone_device_set_mode(struct thermal_zone_device *tz,
|
||||
if (mode == tz->mode) {
|
||||
mutex_unlock(&tz->lock);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (tz->ops.change_mode)
|
||||
ret = tz->ops.change_mode(tz, mode);
|
||||
ret = __thermal_zone_device_set_mode(tz, mode);
|
||||
if (ret) {
|
||||
mutex_unlock(&tz->lock);
|
||||
|
||||
if (!ret)
|
||||
tz->mode = mode;
|
||||
return ret;
|
||||
}
|
||||
|
||||
__thermal_zone_device_update(tz, THERMAL_EVENT_UNSPECIFIED);
|
||||
|
||||
@@ -563,7 +580,7 @@ static int thermal_zone_device_set_mode(struct thermal_zone_device *tz,
|
||||
else
|
||||
thermal_notify_tz_disable(tz);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int thermal_zone_device_enable(struct thermal_zone_device *tz)
|
||||
|
||||
Reference in New Issue
Block a user