diff options
author | Javi Merino <javi.merino@arm.com> | 2015-09-14 14:23:54 +0100 |
---|---|---|
committer | Zhang Rui <rui.zhang@intel.com> | 2015-09-20 15:37:16 +0800 |
commit | 97584d1838b7e2545c3b10aacef3327fcaa9531b (patch) | |
tree | c32bf60af310ccdf0f4a49d4235e6f49bd2a4512 | |
parent | f5cbb182586ea36c6ad0e90e3534d18a5e9af094 (diff) | |
download | linux-97584d1838b7e2545c3b10aacef3327fcaa9531b.tar.gz linux-97584d1838b7e2545c3b10aacef3327fcaa9531b.tar.xz |
thermal: power_allocator: exit early if there are no cooling devices
Don't waste cycles in the power allocator governor's throttle function
if there are no cooling devices and exit early.
This commit doesn't change any functionality, but should provide better
performance for the odd case of a thermal zone with trip points but
without cooling devices.
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
-rw-r--r-- | drivers/thermal/power_allocator.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/thermal/power_allocator.c b/drivers/thermal/power_allocator.c index 718363f5be40..7ff96270c933 100644 --- a/drivers/thermal/power_allocator.c +++ b/drivers/thermal/power_allocator.c @@ -346,6 +346,11 @@ static int allocate_power(struct thermal_zone_device *tz, } } + if (!num_actors) { + ret = -ENODEV; + goto unlock; + } + /* * We need to allocate five arrays of the same size: * req_power, max_power, granted_power, extra_actor_power and |