thermal: gov_power_allocator: Eliminate a redundant variable

Notice that the passive field in struct thermal_zone_device is not
used by the Power Allocator governor itself and so the ordering of
its updates with respect to allow_maximum_power() or allocate_power()
does not matter.

Accordingly, make power_allocator_manage() update that field right
before returning, which allows the current value of it to be passed
directly to allow_maximum_power() without using the additional update
variable that can be dropped.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
This commit is contained in:
Rafael J. Wysocki 2024-04-10 18:12:45 +02:00
parent 41ddbcc6fd
commit ca0e9728d3

View File

@ -747,21 +747,18 @@ static void power_allocator_manage(struct thermal_zone_device *tz)
{ {
struct power_allocator_params *params = tz->governor_data; struct power_allocator_params *params = tz->governor_data;
const struct thermal_trip *trip = params->trip_switch_on; const struct thermal_trip *trip = params->trip_switch_on;
bool update;
lockdep_assert_held(&tz->lock); lockdep_assert_held(&tz->lock);
if (trip && tz->temperature < trip->temperature) { if (trip && tz->temperature < trip->temperature) {
update = tz->passive;
tz->passive = 0;
reset_pid_controller(params); reset_pid_controller(params);
allow_maximum_power(tz, update); allow_maximum_power(tz, tz->passive);
tz->passive = 0;
return; return;
} }
tz->passive = 1;
allocate_power(tz, params->trip_max->temperature); allocate_power(tz, params->trip_max->temperature);
tz->passive = 1;
} }
static struct thermal_governor thermal_gov_power_allocator = { static struct thermal_governor thermal_gov_power_allocator = {