From: jean.pihet@newoldbits.com
To: linux-omap@vger.kernel.org
Subject: [PATCH 13/13] OMAP2+: PM: build PM functionality as modules
Date: Wed, 18 May 2011 19:32:30 +0200 [thread overview]
Message-ID: <1305739950-11695-14-git-send-email-j-pihet@ti.com> (raw)
In-Reply-To: <1305739950-11695-1-git-send-email-j-pihet@ti.com>
From: Jean Pihet <j-pihet@ti.com>
A new config option CONFIG_OMAP_PM is defined. This option allows
for the whole OMAP2+ PM to completely enabled, disabled or be built
as modules.
The PM functionality is split into the following modules:
- omap_pm_debug
- omap2_pm
- omap3_pm
- omap4_pm
The following functionality is moved to the modules:
- platform specific PM core
- suspend
- cpuidle
- PM debug
The following functionality is needed at boot time and so is left
in the PM core code (i.e. not built as modules):
- PRCM
- clock domains
- power domains
- voltage domains
- hwmod
- smart reflex
- per-platform PRCM data
- per-platform clock data
- per-platform power domains data
- per-platform hwmod data
- per-platform OPP data
Signed-off-by: Jean Pihet <j-pihet@ti.com>
---
arch/arm/mach-omap2/Makefile | 36 ++++++++++++++++++++++++++----------
arch/arm/plat-omap/Kconfig | 9 +++++++++
2 files changed, 35 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 0fe8a5b..29e0588 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -53,22 +53,38 @@ obj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o
# Power Management
# Includes core PM, powerdomain, clockdomain, smartreflex, voltagedomain, OPP
ifeq ($(CONFIG_PM),y)
-obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
-obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o pm_bus.o
-obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o \
- cpuidle34xx.o pm_bus.o
-obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o pm_bus.o
-obj-$(CONFIG_PM_DEBUG) += pm-debug.o
+
+obj-y += pm_bus.o
+ifeq ($(CONFIG_PM_VERBOSE),y)
+CFLAGS_pm_bus.o += -DDEBUG
+endif
+
+ifeq ($(CONFIG_PM_DEBUG),y)
+obj-$(CONFIG_OMAP_PM) += omap_pm_debug.o
+omap_pm_debug-y := pm-debug.o
+endif
+
+ifeq ($(CONFIG_ARCH_OMAP2),y)
+obj-$(CONFIG_OMAP_PM) += omap2_pm.o
+omap2_pm-y := pm24xx.o sleep24xx.o
+endif
+
+ifeq ($(CONFIG_ARCH_OMAP3),y)
+obj-$(CONFIG_OMAP_PM) += omap3_pm.o
+omap3_pm-y := pm34xx.o sleep34xx.o cpuidle34xx.o
+endif
+
+ifeq ($(CONFIG_ARCH_OMAP4),y)
+obj-$(CONFIG_OMAP_PM) += omap4_pm.o
+omap4_pm-y := pm44xx.o
+endif
+
obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o
obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
AFLAGS_sleep24xx.o :=-Wa,-march=armv6
AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec)
-ifeq ($(CONFIG_PM_VERBOSE),y)
-CFLAGS_pm_bus.o += -DDEBUG
-endif
-
# OMAP voltage domains
voltagedomain-common := voltage.o
obj-$(CONFIG_ARCH_OMAP2) += $(voltagedomain-common)
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
index cd5f993..28154db 100644
--- a/arch/arm/plat-omap/Kconfig
+++ b/arch/arm/plat-omap/Kconfig
@@ -204,6 +204,15 @@ config OMAP_SERIAL_WAKE
to data on the serial RX line. This allows you to wake the
system from serial console.
+config OMAP_PM
+ tristate "OMAP PM support"
+ depends on ARCH_OMAP2PLUS && PM
+ default y
+ help
+ Select this option if you want to have OMAP2+ PM support enabled.
+ Can also be set to 'm' for the whole OMAP2+ PM to be built
+ as a module.
+
choice
prompt "OMAP PM layer selection"
depends on ARCH_OMAP
--
1.7.4.1
next prev parent reply other threads:[~2011-05-18 17:33 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-18 17:32 [RFC/PATCH 00/13] OMAP2+: PM: isolate PM code in modules jean.pihet
2011-05-18 17:32 ` [PATCH 01/13] perf: export power_start and power_end tracepoints jean.pihet
2011-05-18 17:32 ` [PATCH 02/13] OMAP2+: PM: isolate PM code jean.pihet
2011-05-18 17:32 ` [PATCH 03/13] OMAP2+: PM: clean up usage of SRAM functions jean.pihet
2011-05-26 20:34 ` Kevin Hilman
2011-05-18 17:32 ` [PATCH 04/13] OMAP2+: cpuidle: register the board specific C-states table jean.pihet
2011-05-18 17:32 ` [PATCH 05/13] OMAP2+: PM: move common code from pm-debug.c to pm.c jean.pihet
2011-05-18 17:32 ` [PATCH 06/13] OMAP2+: PM: isolate the scratchpad save function from the PM code jean.pihet
2011-05-18 17:32 ` [PATCH 07/13] OMAP2+: PM: move the powerdomains time stats to powerdomain code jean.pihet
2011-05-26 20:45 ` Kevin Hilman
2011-05-18 17:32 ` [PATCH 08/13] OMAP2+: PM: provide the next timer event API to PM modules jean.pihet
2011-05-19 7:59 ` Santosh Shilimkar
2011-05-19 12:02 ` Jean Pihet
2011-05-26 23:00 ` Kevin Hilman
2011-05-27 7:44 ` Jean Pihet
2011-05-18 17:32 ` [PATCH 09/13] OMAP2+: PM: export suspend_set_ops " jean.pihet
2011-05-26 23:09 ` Kevin Hilman
2011-05-27 7:48 ` Jean Pihet
2011-05-28 0:28 ` Kevin Hilman
2011-05-18 17:32 ` [PATCH 10/13] OMAP3: PM: export the v7_flush_dcache_all API to modules jean.pihet
2011-05-19 8:04 ` Santosh Shilimkar
2011-05-25 12:21 ` Jean Pihet
2011-05-18 17:32 ` [PATCH 11/13] OMAP2+: PM: implement modules insertion and removal code jean.pihet
2011-05-18 17:32 ` [PATCH 12/13] OMAP2+: PM: export functions and variables to PM modules jean.pihet
2011-05-19 8:32 ` Santosh Shilimkar
2011-05-18 17:32 ` jean.pihet [this message]
2011-05-31 8:02 ` [RFC/PATCH 00/13] OMAP2+: PM: isolate PM code in modules Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1305739950-11695-14-git-send-email-j-pihet@ti.com \
--to=jean.pihet@newoldbits.com \
--cc=linux-omap@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).