From: Tomasz Figa <tomasz.figa@gmail.com>
To: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Pavel Machek <pavel@ucw.cz>, Len Brown <len.brown@intel.com>,
Russell King <linux@arm.linux.org.uk>,
Kukjin Kim <kgene.kim@samsung.com>,
Kumar Gala <galak@codeaurora.org>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Mark Rutland <mark.rutland@arm.com>,
Pawel Moll <pawel.moll@arm.com>, Rob Herring <robh+dt@kernel.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Stephen Warren <swarren@wwwdotorg.org>,
Tomasz Figa <t.figa@samsung.com>, Mark Brown <broonie@kernel.org>,
Stephen Boyd <sboyd@codeaurora.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Marek Szyprowski <m.szyprowski@samsung.com>Tomas
Subject: [PATCH v2 00/11] Generic Device Tree based power domain look-up
Date: Mon, 3 Mar 2014 17:02:05 +0100 [thread overview]
Message-ID: <1393862536-9842-1-git-send-email-tomasz.figa@gmail.com> (raw)
Up till now there was no single generic method to bind devices to their
power domains using Device Tree. Each platform has been doing this using
its own way, example of which are Exynos power domain bindings [1] and
look-up code [2].
This series is intended to change this and provide generic DT bindings for
power domain specification and generic code performing look-up of power
domains and binding them to devices.
First two patches are the most important part of this series, as they
introduce $subject. Patch 3 converts mach-exynos to use the new generic
method. Further patches are adding one more user of the new code,
mach-s3c64xx, with first 3 patches (4-6) required to clean-up its power
domain driver a bit and last 3 patches (9-11) adding display support for
Mini6410 board, including a node for display controller (FIMD) which is
a power domain consumer.
The design of DT bindings and provider code is heavily inspired by
implementation of clock providers in Common Clock Framework, while
the code binding devices to power domains by my Exynos power domain
implementation (now removed by this series ;)).
Successfully tested on S3C6410-based Mini6410 board.
[1] Documentation/devicetree/bindings/arm/exynos/power_domain.txt
[2] arch/arm/mach-exynos/pm_domains.c
Changes since v1 (RFC):
[https://lkml.org/lkml/2014/1/11/141]
- rebased onto current Rafael's linux-pm bleeding-edge branch,
- reordered the patches a bit (to have the generic ones first),
- dropped renaming of S3C64xx power domains (as suggested by Mark Brown),
- added support for deferred probing (as suggested by Stephen Boyd),
- fixed several minor issues pointed by Stephen Boyd,
- replaced notifiers with direct hooks in driver core to make power domain
support independent from specific bus type and allow error handling.
Tomasz Figa (11):
base: power: Add generic OF-based power domain look-up
drivercore: Bind/unbind power domain on probe/remove
ARM: exynos: Move to generic power domain bindings
ARM: s3c64xx: pm: Use name field of generic_pm_domain
ARM: s3c64xx: pm: Add always_on field to s3c64xx_pm_domain struct
ARM: s3c64xx: pm: Add pwr_stat bit for domain G
ARM: s3c64xx: pm: Add device tree based power domain instantiation
ARM: s3c64xx: dt: Enable SoC-level power management
ARM: dts: s3c64xx: Add nodes for power domains
ARM: dts: s3c64xx: Add node for display controller
ARM: dts: s3c6410-mini6410: Add support for LCD screen
.../bindings/arm/exynos/power_domain.txt | 12 +-
.../devicetree/bindings/power/power_domain.txt | 51 ++++
arch/arm/boot/dts/s3c6400.dtsi | 1 +
arch/arm/boot/dts/s3c6410-mini6410.dts | 33 +++
arch/arm/boot/dts/s3c6410.dtsi | 1 +
arch/arm/boot/dts/s3c64xx.dtsi | 13 +
arch/arm/mach-exynos/pm_domains.c | 80 +-----
arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c | 8 +
arch/arm/mach-s3c64xx/pm.c | 106 ++++++--
drivers/base/dd.c | 9 +-
drivers/base/power/domain.c | 298 +++++++++++++++++++++
include/dt-bindings/arm/s3c64xx-power-domains.h | 26 ++
include/linux/pm_domain.h | 46 ++++
kernel/power/Kconfig | 4 +
14 files changed, 576 insertions(+), 112 deletions(-)
create mode 100644 Documentation/devicetree/bindings/power/power_domain.txt
create mode 100644 include/dt-bindings/arm/s3c64xx-power-domains.h
--
1.9.0
next reply other threads:[~2014-03-03 16:02 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-03 16:02 Tomasz Figa [this message]
2014-03-03 16:02 ` [PATCH v2 01/11] base: power: Add generic OF-based power domain look-up Tomasz Figa
2014-03-04 18:23 ` Stephen Boyd
2014-03-05 11:53 ` Tomasz Figa
2014-03-05 4:24 ` Mark Brown
2014-03-05 6:41 ` Rob Herring
2014-03-05 7:19 ` Ulf Hansson
2014-03-05 11:47 ` Tomasz Figa
2014-03-05 12:44 ` Tomasz Figa
2014-03-05 18:37 ` Lorenzo Pieralisi
2014-03-14 23:07 ` Kevin Hilman
2014-03-19 23:13 ` Sören Brinkmann
2014-03-19 23:16 ` Tomasz Figa
2014-04-03 12:16 ` Ulf Hansson
[not found] ` <CAPDyKFoxTAHyX7SQAMsvt=OttHs22oMSB8XrRUDDJ06qO0Fc2w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-03 12:30 ` Tomasz Figa
2014-04-03 13:32 ` Ulf Hansson
2014-03-03 16:02 ` [PATCH v2 02/11] drivercore: Bind/unbind power domain on probe/remove Tomasz Figa
2014-03-04 18:29 ` Stephen Boyd
2014-03-04 19:17 ` Philipp Zabel
2014-03-05 4:26 ` Mark Brown
2014-03-05 7:22 ` Ulf Hansson
2014-03-03 16:02 ` [PATCH v2 03/11] ARM: exynos: Move to generic power domain bindings Tomasz Figa
2014-03-05 16:15 ` Bartlomiej Zolnierkiewicz
2014-03-05 16:20 ` Tomasz Figa
2014-03-07 13:04 ` Bartlomiej Zolnierkiewicz
2014-03-03 16:02 ` [PATCH v2 04/11] ARM: s3c64xx: pm: Use name field of generic_pm_domain Tomasz Figa
2014-03-05 4:28 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 05/11] ARM: s3c64xx: pm: Add always_on field to s3c64xx_pm_domain struct Tomasz Figa
2014-03-05 4:28 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 06/11] ARM: s3c64xx: pm: Add pwr_stat bit for domain G Tomasz Figa
2014-03-05 4:28 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 07/11] ARM: s3c64xx: pm: Add device tree based power domain instantiation Tomasz Figa
[not found] ` <1393862536-9842-8-git-send-email-tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-05 4:29 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 08/11] ARM: s3c64xx: dt: Enable SoC-level power management Tomasz Figa
[not found] ` <1393862536-9842-9-git-send-email-tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-05 4:30 ` Mark Brown
[not found] ` <1393862536-9842-1-git-send-email-tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-03 16:02 ` [PATCH v2 09/11] ARM: dts: s3c64xx: Add nodes for power domains Tomasz Figa
2014-03-05 4:31 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 10/11] ARM: dts: s3c64xx: Add node for display controller Tomasz Figa
2014-03-03 16:02 ` [PATCH v2 11/11] ARM: dts: s3c6410-mini6410: Add support for LCD screen Tomasz Figa
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=1393862536-9842-1-git-send-email-tomasz.figa@gmail.com \
--to=tomasz.figa@gmail.com \
--cc=b.zolnierkie@samsung.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=gregkh@linuxfoundation.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=kgene.kim@samsung.com \
--cc=len.brown@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=lorenzo.pieralisi@arm.com \
--cc=m.szyprowski@samsung.com \
--cc=mark.rutland@arm.com \
--cc=pavel@ucw.cz \
--cc=pawel.moll@arm.com \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=swarren@wwwdotorg.org \
--cc=t.figa@samsung.com \
--cc=ulf.hansson@linaro.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).