1.休眠方式
在内核中,休眠方式有很多种,可以通过下面命令查看
# cat /sys/power/state
//来得到内核支持哪几种休眠方式....disk: 将运行状态数据存到硬盘,然后关机,唤醒最慢
示例:
# echo standby > /sys/power/state
// 命令系统进入standby...休眠.
2.唤醒方式
当我们休眠时,如果想唤醒,则需要添加中断唤醒源,使得在休眠时,这些中断是设为开启的,当有中断来,则会退出唤醒,常见的中断源有按键,USB等.
3.以按键驱动为例(基于内核3.10.14...(struct device *dev);
休眠函数,休眠之前会被调用
static int gpio_keys_resume(struct device *dev);
唤醒函数,唤醒之前被调用
static...:
休眠时:
enable_irq_wake (bdata->irq);
//将要睡眠的中断号屏蔽掉,实现休眠时保持中断唤醒
唤醒后:
disable_irq_wake(bdata