Loongson2f's cpu frequency is software configurable, when we set its frequency to ZERO, it will go into the suspend mode and can be waked up by the external interrupts. With this feature and based on the kernel's suspend framework, this patch add the suspend support for loongson2f family machines. To utilize this support, the machines should provide a necessary external interrupt to wakeup loongson2f from the suspend mode and make sure the interrupt be able to send to the processor directly or indirectly(the interrupt path is not blocked). otherwise, it will suspend there all the time. And If there is an external timer used, please mask it with IRQF_TIMER, otherwise, the system will fail on resuming from suspend. The old lemote Fuloong2F mini PC did not provide any method to wakeup the machine from the suspend mode, so, please not try to suspend the machine. But the latest lemote Fuloong2F add an interrupt line from the Power Button to the Processor, If we press the button and release it immediatly, it will work as a wakeup button. For YeeLoong2F netbook, Since it's easy to setup the keyboard interrupt as the wakeup interrupt, we just setup it and avoid changing the hardware. So the old YeeLoong2F machines can also utilize this support. and in the coming patchset, we will also setup the LID interrupt as the wakeup interrupt. Thanks & Regards, Wu Zhangjin Wu Zhangjin (2): [loongson] 2f: add suspend support framework [loongson] yeeloong2f: add board specific suspend support arch/mips/loongson/Kconfig | 5 + arch/mips/loongson/common/Makefile | 6 ++ arch/mips/loongson/common/pm.c | 157 +++++++++++++++++++++++++++++++++ arch/mips/loongson/lemote-2f/Makefile | 6 ++ arch/mips/loongson/lemote-2f/pm.c | 70 +++++++++++++++ 5 files changed, 244 insertions(+), 0 deletions(-) create mode 100644 arch/mips/loongson/common/pm.c create mode 100644 arch/mips/loongson/lemote-2f/pm.c