If we enable CONFIG_SCHED_TUNE without CONFIG_CGROUPS we get the following
errors:
kernel/sched/fair.c: In function 'energy_diff_evaluate':
kernel/sched/fair.c:4795:2: error: implicit declaration of function 'schedtune_normalize_energy' [-Werror=implicit-function-declaration]
nrg_delta = schedtune_normalize_energy(eenv->nrg.diff);
^
kernel/sched/fair.c:4798:2: error: implicit declaration of function 'schedtune_accept_deltas' [-Werror=implicit-function-declaration]
eenv->payoff = schedtune_accept_deltas(
^
Fix this by making sure the dummy version of these functions are
defined if the real ones aren't.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
---
This is another build fix for the 3.18 backport of EAS [1] but I'm not
sure if the missing functions are actually meant to do something in the
case when we have SCHED_TUNE without CGROUPS?
[1]
http://git.linaro.org/arm/eas/kernel.git/shortlog/refs/heads/linux-3.18-eas-5.2-plus
kernel/sched/tune.h | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/kernel/sched/tune.h b/kernel/sched/tune.h
index da1f7b2..3410a1d 100644
--- a/kernel/sched/tune.h
+++ b/kernel/sched/tune.h
@@ -1,6 +1,3 @@
-
-#ifdef CONFIG_SCHED_TUNE
-
#ifdef CONFIG_CGROUP_SCHEDTUNE
int schedtune_cpu_boost(int cpu);
@@ -13,14 +10,7 @@ int schedtune_normalize_energy(int energy);
int schedtune_accept_deltas(int nrg_delta, int cap_delta,
struct task_struct *task);
-#else /* CONFIG_CGROUP_SCHEDTUNE */
-
-#define schedtune_enqueue_task(task, cpu) do { } while (0)
-#define schedtune_dequeue_task(task, cpu) do { } while (0)
-
-#endif /* CONFIG_CGROUP_SCHEDTUNE */
-
-#else /* CONFIG_SCHED_TUNE */
+#else
#define schedtune_enqueue_task(task, cpu) do { } while (0)
#define schedtune_dequeue_task(task, cpu) do { } while (0)
@@ -28,4 +18,4 @@ int schedtune_accept_deltas(int nrg_delta, int cap_delta,
#define schedtune_normalize_energy(energy) energy
#define schedtune_accept_deltas(nrg_delta, cap_delta, task) nrg_delta
-#endif /* CONFIG_SCHED_TUNE */
+#endif
--
2.1.4