}
  };
  
- static void at91cap9_restart(char mode, const char *cmd)
- {
-       at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
- }
- 
 +static void at91cap9_idle(void)
 +{
 +      at91_sys_write(AT91_PMC_SCDR, AT91_PMC_PCK);
 +      cpu_do_idle();
 +}
 +
  /* --------------------------------------------------------------------
   *  AT91CAP9 processor initialization
   * -------------------------------------------------------------------- */
  
  static void __init at91cap9_initialize(void)
  {
-       arm_pm_restart = at91cap9_restart;
 +      arm_pm_idle = at91cap9_idle;
+       arm_pm_restart = at91sam9g45_restart;
        at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);
  
        /* Register GPIO subsystem */
 
        }
  };
  
- static void at91sam9g45_restart(char mode, const char *cmd)
- {
-       at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
- }
- 
 +static void at91sam9g45_idle(void)
 +{
 +      at91_sys_write(AT91_PMC_SCDR, AT91_PMC_PCK);
 +      cpu_do_idle();
 +}
 +
  /* --------------------------------------------------------------------
   *  AT91SAM9G45 processor initialization
   * -------------------------------------------------------------------- */