diff options
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-11-11 01:51:26 +0100
committerRafael J. Wysocki <rjw@sisk.pl>2010-11-11 01:51:26 +0100
commit43e60861fe9d39740cf5b355f58fecedf0d8e9ba (patch)
parentd08a5ace18dce9b18d8eb56bb6c0feef082b1b33 (diff)
PM / OPP: Hide OPP configuration when SoCs do not provide an implementation
Since the OPP API is only useful with an appropraite SoC-specific implementation there is no point in offering the ability to enable the API on general systems. Provide an ARCH_HAS OPP Kconfig symbol which masks out the option unless selected by an implementation. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Nishanth Menon <nm@ti.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/power/opp.txt b/Documentation/power/opp.txt
index 44d87ad3cea..cd445582d1f 100644
--- a/Documentation/power/opp.txt
+++ b/Documentation/power/opp.txt
@@ -37,6 +37,9 @@ Typical usage of the OPP library is as follows:
SoC framework -> modifies on required cases certain OPPs -> OPP layer
-> queries to search/retrieve information ->
+Architectures that provide a SoC framework for OPP should select ARCH_HAS_OPP
+to make the OPP layer available.
OPP layer expects each domain to be represented by a unique device pointer. SoC
framework registers a set of initial OPPs per device with the OPP layer. This
list is expected to be an optimally small number typically around 5 per device.
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
index 29bff6117ab..a5aff3ebad3 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -246,9 +246,13 @@ config PM_OPS
depends on PM_SLEEP || PM_RUNTIME
default y
+config ARCH_HAS_OPP
+ bool
config PM_OPP
bool "Operating Performance Point (OPP) Layer library"
depends on PM
+ depends on ARCH_HAS_OPP
SOCs have a standard set of tuples consisting of frequency and
voltage pairs that the device will support per voltage domain. This