This patch series adds support for CPR on MSM8916. It depends on a few different patch series to be fully functional. It needs SPMI regulator support[1] and secondly it needs the NVMEM framework[2]. It also needs a patch that provides a "corner" voting mechanism to the SMD RPM regulators (and it relies on the SMD RPM regulators to function properly). If possible I would like to get rid of that patch entirely. Finally it needs CPU clock support to support scaling CPU frequencies. Once you have those 4 or 5 patch series in place you can apply these patches and enable cpufreq-dt and add the cpufreq-dt device (maybe the CPR driver should add the cpufreq-dt device?) and you'll see interrupts for CPR and OPP voltage adjustments triggering CPUfreq to modify voltages. Stephen Boyd (6): regulator: core: Don't spew backtraces on duplicate sysfs regulator: core: Print at debug level on debugfs creation failure PM / OPP: Support adjusting OPP voltages at runtime OPP: Allow notifiers to call dev_pm_opp_get_{voltage,freq} RCU-free cpufreq-dt: Handle OPP voltage adjust events power: avs: Add support for CPR (Core Power Reduction) drivers/base/power/opp.c | 96 +- drivers/cpufreq/cpufreq-dt.c | 73 +- drivers/power/avs/Kconfig | 14 + drivers/power/avs/Makefile | 1 + drivers/power/avs/qcom-cpr.c | 1983 ++++++++++++++++++++++++++++++++++++++++++ drivers/regulator/core.c | 6 +- include/linux/pm_opp.h | 10 + 7 files changed, 2166 insertions(+), 17 deletions(-) create mode 100644 drivers/power/avs/qcom-cpr.c [1] http://lkml.kernel.org/r/1431466787-32247-1-git-send-email-sboyd@xxxxxxxxxxxxxx [2] http://lkml.kernel.org/r/1432226535-8640-1-git-send-email-srinivas.kandagatla@xxxxxxxxxx -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html