summaryrefslogtreecommitdiff
path: root/packages/linux/linux-2.6.23/leds-cpu-activity-powerpc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-2.6.23/leds-cpu-activity-powerpc.patch')
-rw-r--r--packages/linux/linux-2.6.23/leds-cpu-activity-powerpc.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/packages/linux/linux-2.6.23/leds-cpu-activity-powerpc.patch b/packages/linux/linux-2.6.23/leds-cpu-activity-powerpc.patch
new file mode 100644
index 0000000000..b377355815
--- /dev/null
+++ b/packages/linux/linux-2.6.23/leds-cpu-activity-powerpc.patch
@@ -0,0 +1,46 @@
+Index: linux-2.6.23/arch/powerpc/kernel/idle.c
+===================================================================
+--- linux-2.6.23.orig/arch/powerpc/kernel/idle.c 2007-10-09 22:31:38.000000000 +0200
++++ linux-2.6.23/arch/powerpc/kernel/idle.c 2007-12-05 11:34:39.000000000 +0100
+@@ -19,6 +19,7 @@
+ * 2 of the License, or (at your option) any later version.
+ */
+
++#include <linux/leds.h>
+ #include <linux/sched.h>
+ #include <linux/kernel.h>
+ #include <linux/smp.h>
+@@ -50,6 +51,12 @@
+ __setup("powersave=off", powersave_off);
+
+ /*
++ * CPU activity indicator.
++ */
++void (*leds_idle)(int is_idle);
++EXPORT_SYMBOL(leds_idle);
++
++/*
+ * The body of the idle task.
+ */
+ void cpu_idle(void)
+@@ -59,6 +66,8 @@
+
+ set_thread_flag(TIF_POLLING_NRFLAG);
+ while (1) {
++ if (leds_idle)
++ leds_idle(1);
+ while (!need_resched() && !cpu_should_die()) {
+ ppc64_runlatch_off();
+
+@@ -92,8 +101,11 @@
+ ppc64_runlatch_on();
+ if (cpu_should_die())
+ cpu_die();
++ if (leds_idle)
++ leds_idle(0);
+ preempt_enable_no_resched();
+ schedule();
++
+ preempt_disable();
+ }
+ }