m32r idle: delete pm_idle, and other dead idle code
authorLen Brown <len.brown@intel.com>
Sun, 10 Feb 2013 03:42:39 +0000 (22:42 -0500)
committerLen Brown <len.brown@intel.com>
Mon, 18 Feb 2013 04:37:06 +0000 (23:37 -0500)
All paths on m32r lead to cpu_relax().
So delete the dead code and simply call cpu_relax() directly.

Signed-off-by: Len Brown <len.brown@intel.com>
Cc: linux-m32r@ml.linux-m32r.org
arch/m32r/kernel/process.c

index 765d0f5..bde899e 100644 (file)
@@ -44,36 +44,10 @@ unsigned long thread_saved_pc(struct task_struct *tsk)
        return tsk->thread.lr;
 }
 
-/*
- * Powermanagement idle function, if any..
- */
-static void (*pm_idle)(void) = NULL;
-
 void (*pm_power_off)(void) = NULL;
 EXPORT_SYMBOL(pm_power_off);
 
 /*
- * We use this is we don't have any better
- * idle routine..
- */
-static void default_idle(void)
-{
-       /* M32R_FIXME: Please use "cpu_sleep" mode.  */
-       cpu_relax();
-}
-
-/*
- * On SMP it's slightly faster (but much more power-consuming!)
- * to poll the ->work.need_resched flag instead of waiting for the
- * cross-CPU IPI to arrive. Use this option with caution.
- */
-static void poll_idle (void)
-{
-       /* M32R_FIXME */
-       cpu_relax();
-}
-
-/*
  * The idle thread. There's no useful work to be
  * done, so just try to conserve power and have a
  * low exit latency (ie sit in a loop waiting for
@@ -84,14 +58,8 @@ void cpu_idle (void)
        /* endless idle loop with no priority at all */
        while (1) {
                rcu_idle_enter();
-               while (!need_resched()) {
-                       void (*idle)(void) = pm_idle;
-
-                       if (!idle)
-                               idle = default_idle;
-
-                       idle();
-               }
+               while (!need_resched())
+                       cpu_relax();
                rcu_idle_exit();
                schedule_preempt_disabled();
        }
@@ -120,21 +88,6 @@ void machine_power_off(void)
        /* M32R_FIXME */
 }
 
-static int __init idle_setup (char *str)
-{
-       if (!strncmp(str, "poll", 4)) {
-               printk("using poll in idle threads.\n");
-               pm_idle = poll_idle;
-       } else if (!strncmp(str, "sleep", 4)) {
-               printk("using sleep in idle threads.\n");
-               pm_idle = default_idle;
-       }
-
-       return 1;
-}
-
-__setup("idle=", idle_setup);
-
 void show_regs(struct pt_regs * regs)
 {
        printk("\n");