lkml.org 
[lkml]   [2014]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v2 00/11] Generic Device Tree based power domain look-up
    Date
    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



    \
     
     \ /
      Last update: 2014-03-03 17:41    [W:2.169 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site