]> rtime.felk.cvut.cz Git - linux-imx.git/commitdiff
ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/
authorJean Pihet <j-pihet@ti.com>
Wed, 25 Apr 2012 11:13:17 +0000 (16:43 +0530)
committerKevin Hilman <khilman@ti.com>
Thu, 31 May 2012 23:36:30 +0000 (16:36 -0700)
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>
arch/arm/mach-omap2/Makefile
arch/arm/plat-omap/Kconfig
drivers/power/Kconfig
drivers/power/Makefile
drivers/power/avs/Kconfig [new file with mode: 0644]
drivers/power/avs/Makefile [new file with mode: 0644]
drivers/power/avs/smartreflex.c [moved from arch/arm/mach-omap2/smartreflex.c with 99% similarity]

index 518444acc90f2837b4d3c4f227601e48e1457038..f8ee10a06f46461f5c72324089c56349563b6123 100644 (file)
@@ -70,8 +70,8 @@ obj-$(CONFIG_ARCH_OMAP4)              += pm44xx.o omap-mpuss-lowpower.o \
                                           cpuidle44xx.o
 obj-$(CONFIG_PM_DEBUG)                 += pm-debug.o
 
-obj-$(CONFIG_POWER_AVS_OMAP)           += sr_device.o smartreflex.o
-obj-$(CONFIG_POWER_AVS_OMAP_CLASS3)    += smartreflex-class3.o
+obj-$(CONFIG_POWER_AVS_OMAP)           += sr_device.o
+obj-$(CONFIG_POWER_AVS_OMAP_CLASS3)    += smartreflex-class3.o
 
 AFLAGS_sleep24xx.o                     :=-Wa,-march=armv6
 AFLAGS_sleep34xx.o                     :=-Wa,-march=armv7-a$(plus_sec)
index bba384dfbcf691d36b8e9bcf71b02cada92b510d..816dec062f3cdb663320ee38d20276dc8763e595 100644 (file)
@@ -45,26 +45,12 @@ config OMAP_DEBUG_LEDS
        depends on OMAP_DEBUG_DEVICES
        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
        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
-         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.
          V1 is the 65nm version used in OMAP3430.
          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
          voltage calibration.
 
-endif # POWER_AVS
-
 config OMAP_RESET_CLOCKS
        bool "Reset unused clocks during boot"
        depends on ARCH_OMAP
index 99dc29f2f2f2ba84b16430a51548817b094b9c3a..d416773771ef88c45393fd9dd8ce6aa539dfbcec 100644 (file)
@@ -308,3 +308,5 @@ config AB8500_BATTERY_THERM_ON_BATCTRL
          Say Y to enable battery temperature measurements using
          thermistor connected on BATCTRL ADC.
 endif # POWER_SUPPLY
+
+source "drivers/power/avs/Kconfig"
index b6b243416c0ee1947a47efd85b205341dc0f1463..ee58afb1e71f41358b27c7ace8ed6b57a803ee9f 100644 (file)
@@ -43,4 +43,5 @@ obj-$(CONFIG_CHARGER_GPIO)    += gpio-charger.o
 obj-$(CONFIG_CHARGER_MANAGER)  += charger-manager.o
 obj-$(CONFIG_CHARGER_MAX8997)  += max8997_charger.o
 obj-$(CONFIG_CHARGER_MAX8998)  += max8998_charger.o
+obj-$(CONFIG_POWER_AVS)                += avs/
 obj-$(CONFIG_CHARGER_SMB347)   += smb347-charger.o
diff --git a/drivers/power/avs/Kconfig b/drivers/power/avs/Kconfig
new file mode 100644 (file)
index 0000000..18493f7
--- /dev/null
@@ -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.
diff --git a/drivers/power/avs/Makefile b/drivers/power/avs/Makefile
new file mode 100644 (file)
index 0000000..0843386
--- /dev/null
@@ -0,0 +1 @@
+obj-$(CONFIG_POWER_AVS_OMAP)           += smartreflex.o
similarity index 99%
rename from arch/arm/mach-omap2/smartreflex.c
rename to drivers/power/avs/smartreflex.c
index 515041ccccb89c45552e95148ded0544fd40dbd3..44efc6e202afdfeb2f9cd98d6305cb517ad78dd8 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Author: Thara Gopinath      <thara@ti.com>
  *
- * Copyright (C) 2010 Texas Instruments, Inc.
+ * Copyright (C) 2012 Texas Instruments, Inc.
  * Thara Gopinath <thara@ti.com>
  *
  * Copyright (C) 2008 Nokia Corporation
@@ -27,9 +27,6 @@
 #include <linux/pm_runtime.h>
 #include <linux/power/smartreflex.h>
 
-#include "common.h"
-#include "pm.h"
-
 #define SMARTREFLEX_NAME_LEN   16
 #define NVALUE_NAME_LEN                40
 #define SR_DISABLE_TIMEOUT     200