ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/

After a clean-up of the interfaces the OMAP Smartreflex IP driver is now a
generic driver. Move it to drivers/power/avs/.

The build is controlled by the following Kconfig options:
 . CONFIG_POWER_AVS: general knob for Adaptive Voltage Scaling support,
 . CONFIG_POWER_AVS_OMAP: AVS(Adaptive Voltage Scaling)
   support on OMAP containing the version 1 or version 2 of the SmartReflex IP,
 . CONFIG_POWER_AVS_OMAP_CLASS3: Class 3 implementation of Smartreflex.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: J Keerthy <j-keerthy@ti.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
This commit is contained in:
Jean Pihet 2012-04-25 16:43:17 +05:30 committed by Kevin Hilman
parent 7fb149ffe3
commit 21ff63ad13
7 changed files with 22 additions and 25 deletions

View File

@ -70,8 +70,8 @@ obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \
cpuidle44xx.o cpuidle44xx.o
obj-$(CONFIG_PM_DEBUG) += pm-debug.o obj-$(CONFIG_PM_DEBUG) += pm-debug.o
obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o smartreflex.o obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o
obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o
AFLAGS_sleep24xx.o :=-Wa,-march=armv6 AFLAGS_sleep24xx.o :=-Wa,-march=armv6
AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec)

View File

@ -45,26 +45,12 @@ config OMAP_DEBUG_LEDS
depends on OMAP_DEBUG_DEVICES depends on OMAP_DEBUG_DEVICES
default y if LEDS_CLASS default y if LEDS_CLASS
menuconfig POWER_AVS
tristate "Adaptive Voltage Scaling class support"
help
AVS(Adaptive Voltage Scaling) is a power management technique which
finely controls the operating voltage of a device in order to optimize
(i.e. reduce) its power consumption.
At a given operating point 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.
Say Y here to enable Adaptive Voltage Scaling class support.
if POWER_AVS
config POWER_AVS_OMAP config POWER_AVS_OMAP
bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2" bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2"
depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM depends on POWER_AVS && (ARCH_OMAP3 || ARCH_OMAP4) && PM
help help
Say Y to enable AVS support on OMAP containing the version 1 or Say Y to enable AVS(Adaptive Voltage Scaling)
support on OMAP containing the version 1 or
version 2 of the SmartReflex IP. version 2 of the SmartReflex IP.
V1 is the 65nm version used in OMAP3430. V1 is the 65nm version used in OMAP3430.
V2 is the update for the 45nm version of the IP used in OMAP3630 V2 is the update for the 45nm version of the IP used in OMAP3630
@ -89,8 +75,6 @@ config POWER_AVS_OMAP_CLASS3
Class 3 implementation of Smartreflex employs continuous hardware Class 3 implementation of Smartreflex employs continuous hardware
voltage calibration. voltage calibration.
endif # POWER_AVS
config OMAP_RESET_CLOCKS config OMAP_RESET_CLOCKS
bool "Reset unused clocks during boot" bool "Reset unused clocks during boot"
depends on ARCH_OMAP depends on ARCH_OMAP

View File

@ -308,3 +308,5 @@ config AB8500_BATTERY_THERM_ON_BATCTRL
Say Y to enable battery temperature measurements using Say Y to enable battery temperature measurements using
thermistor connected on BATCTRL ADC. thermistor connected on BATCTRL ADC.
endif # POWER_SUPPLY endif # POWER_SUPPLY
source "drivers/power/avs/Kconfig"

View File

@ -43,4 +43,5 @@ obj-$(CONFIG_CHARGER_GPIO) += gpio-charger.o
obj-$(CONFIG_CHARGER_MANAGER) += charger-manager.o obj-$(CONFIG_CHARGER_MANAGER) += charger-manager.o
obj-$(CONFIG_CHARGER_MAX8997) += max8997_charger.o obj-$(CONFIG_CHARGER_MAX8997) += max8997_charger.o
obj-$(CONFIG_CHARGER_MAX8998) += max8998_charger.o obj-$(CONFIG_CHARGER_MAX8998) += max8998_charger.o
obj-$(CONFIG_POWER_AVS) += avs/
obj-$(CONFIG_CHARGER_SMB347) += smb347-charger.o obj-$(CONFIG_CHARGER_SMB347) += smb347-charger.o

12
drivers/power/avs/Kconfig Normal file
View File

@ -0,0 +1,12 @@
menuconfig POWER_AVS
tristate "Adaptive Voltage Scaling class support"
help
AVS is a power management technique which finely controls the
operating voltage of a device in order to optimize (i.e. reduce)
its power consumption.
At a given operating point 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.
Say Y here to enable Adaptive Voltage Scaling class support.

View File

@ -0,0 +1 @@
obj-$(CONFIG_POWER_AVS_OMAP) += smartreflex.o

View File

@ -3,7 +3,7 @@
* *
* Author: Thara Gopinath <thara@ti.com> * Author: Thara Gopinath <thara@ti.com>
* *
* Copyright (C) 2010 Texas Instruments, Inc. * Copyright (C) 2012 Texas Instruments, Inc.
* Thara Gopinath <thara@ti.com> * Thara Gopinath <thara@ti.com>
* *
* Copyright (C) 2008 Nokia Corporation * Copyright (C) 2008 Nokia Corporation
@ -27,9 +27,6 @@
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#include <linux/power/smartreflex.h> #include <linux/power/smartreflex.h>
#include "common.h"
#include "pm.h"
#define SMARTREFLEX_NAME_LEN 16 #define SMARTREFLEX_NAME_LEN 16
#define NVALUE_NAME_LEN 40 #define NVALUE_NAME_LEN 40
#define SR_DISABLE_TIMEOUT 200 #define SR_DISABLE_TIMEOUT 200