/* Put CPU to SLEEP mode */ int jz_pm_sleep(void) { int retval; #ifndef CONFIG_JZ_POWEROFF if ((retval = request_irq (IRQ_GPIO_0 + GPIO_WAKEUP, pm_irq_handler, IRQF_DISABLED, "PM", NULL))) { printk ("PM could not get IRQ for GPIO_WAKEUP\n"); return retval; } #endif pm_send_all(PM_SUSPEND, (void *)3); retval = jz_pm_do_sleep(); pm_send_all(PM_RESUME, (void *)0); #ifndef CONFIG_JZ_POWEROFF free_irq (IRQ_GPIO_0 + GPIO_WAKEUP, NULL); #endif return retval; }
/* Put CPU to SLEEP mode */ int jz_pm_sleep(void) { return jz_pm_do_sleep(); }