This series introduces a cpuidle driver for systems based around the MIPS Coherent Processing System, ie. those with a Coherence Manager and optionally a Cluster Power Controller. The resulting driver is very much foundational work to which deeper power states will later be added. Tested on Malta using interAptiv bitstreams with both 1 & 2 VPEs in each of 2 cores, and a multi-core proAptiv bitstream. This series depends upon the CM changes of my "MIPS CPS SMP" series. Paul Burton (10): MIPS: inst.h: define COP0 wait op MIPS: inst.h: define missing microMIPS POOL32AXf ops MIPS: uasm: add sync instruction MIPS: uasm: add wait instruction MIPS: uasm: add jr.hb instruction MIPS: uasm: add mftc0 & mttc0 instructions MIPS: uasm: add a label variant of beq MIPS: support use of cpuidle cpuidle: declare cpuidle_dev in cpuidle.h cpuidle: cpuidle driver for MIPS CPS arch/mips/Kconfig | 2 + arch/mips/include/asm/idle.h | 14 + arch/mips/include/asm/uasm.h | 7 + arch/mips/include/uapi/asm/inst.h | 15 +- arch/mips/kernel/idle.c | 20 +- arch/mips/mm/uasm-micromips.c | 3 + arch/mips/mm/uasm-mips.c | 5 + arch/mips/mm/uasm.c | 25 +- drivers/cpuidle/Kconfig | 5 + drivers/cpuidle/Kconfig.mips | 14 + drivers/cpuidle/Makefile | 3 + drivers/cpuidle/cpuidle-mips-cps.c | 545 +++++++++++++++++++++++++++++++++++++ include/linux/cpuidle.h | 1 + 13 files changed, 650 insertions(+), 9 deletions(-) create mode 100644 drivers/cpuidle/Kconfig.mips create mode 100644 drivers/cpuidle/cpuidle-mips-cps.c -- 1.8.4.2