From: Jean Pihet <j-pihet@xxxxxx> AVS is a power management technique which controls the operating voltage of a device in order to optimize (i.e. reduce) its power consumption. The voltage is adapted depending on static factors (chip manufacturing process) and dynamic factors (temperature depending performance). AVS is also called SmartReflex on OMAP devices. To that end, create the AVS framework in drivers/power/avs and move the OMAP SmartReflex code to the new directory. In preparation to the move of the OMAP code the following changes have been made: - split the include files into generic and platform specific code, - fill in platform data from the device initialization code and pass it to the driver, - create CONFIG_AVS* config options accordingly. The platform integration data for SmartReflex is passed from hwmod and the voltage layer to the driver using pdata. Tested on OMAP3 Beagleboard using omap2plus_defconfig with the CONFIG_POWER_AVS* options set. Based on master branch of the l-o git tree (3.3.0-rc6) [1], commit 85244e0edd240da2004bb2ab7cbcbc67a336f20d. [1] git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git History: v2: rework after the comments on MLs . Keep the OMAP Kconfig options in the arch dir (Rafael), . Move the shared header file from plat-omap to include/linux/power/ (Tony) v1: initial revision Jean Pihet (9): ARM: OMAP3+: voltage: export functions to plat/voltage.h ARM: OMAP2+: SmartReflex: move the driver specific macros in include/linux/power ARM: OMAP3+: SmartReflex: class drivers should use struct omap_sr * ARM: OMAP2+: smartreflex: Use the names from hwmod data instead of voltage domains. ARM: OMAP3: hwmod: rename the smartreflex entries ARM: OMAP2+: SmartReflex: introduce a busy loop condition test macro ARM: OMAP2+: SmartReflex: Use per-OPP data structure ARM: OMAP2+: SmartReflex: add POWER_AVS Kconfig options ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/ arch/arm/mach-omap2/Makefile | 4 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 +- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 3 +- arch/arm/mach-omap2/pm.h | 2 +- arch/arm/mach-omap2/smartreflex-class3.c | 60 -- arch/arm/mach-omap2/smartreflex.c | 1165 ---------------------------- arch/arm/mach-omap2/smartreflex.h | 256 ------ arch/arm/mach-omap2/sr_device.c | 38 +- arch/arm/mach-omap2/voltage.h | 1 - arch/arm/mach-omap2/vp.h | 2 - arch/arm/plat-omap/Kconfig | 30 +- arch/arm/plat-omap/include/plat/voltage.h | 3 + drivers/power/Kconfig | 2 + drivers/power/Makefile | 2 + drivers/power/avs/Kconfig | 12 + drivers/power/avs/Makefile | 2 + drivers/power/avs/smartreflex-class3.c | 61 ++ drivers/power/avs/smartreflex.c | 1118 ++++++++++++++++++++++++++ drivers/power/avs/smartreflex.h | 238 ++++++ include/linux/power/smartreflex.h | 97 +++ 20 files changed, 1590 insertions(+), 1518 deletions(-) delete mode 100644 arch/arm/mach-omap2/smartreflex-class3.c delete mode 100644 arch/arm/mach-omap2/smartreflex.c delete mode 100644 arch/arm/mach-omap2/smartreflex.h create mode 100644 drivers/power/avs/Kconfig create mode 100644 drivers/power/avs/Makefile create mode 100644 drivers/power/avs/smartreflex-class3.c create mode 100644 drivers/power/avs/smartreflex.c create mode 100644 drivers/power/avs/smartreflex.h create mode 100644 include/linux/power/smartreflex.h -- 1.7.5.4 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html