Re: [PATCH 0/5] Add power domain support for dw_mmc/sdhci-of-arasan

From: Ulf Hansson
Date: Fri Jul 29 2016 - 05:21:15 EST

On 29 July 2016 at 06:14, Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> wrote:
> We need to enable the power domain manually while probing as the
> power policy will turn off the pd which is not referenced. Otherwise

I assume you are going to use the generic PM domain (genpd)?
If so, this statement isn't entirely correct.

As a matter of fact, the PM domain will be "powered on" once you have
registered your PM domain with genpd and when the device (dw_mmc etc)
gets attached to the domain. The attach occurs when the platform bus'
->probe() function get invoked for the device.

Genpd monitors each device within the domain. To allow it to "power
off", all devices in same domain needs to be runtime PM enabled and
runtime PM suspended.

Due to this, you should be able to deploy genpd support+an updated
DTB, without first having to deploying runtime PM support in the
related drivers. In other words, you should be able to work on these
things almost independently of each other.

> we may take risk of breaking kernel once Feng Xiao land the rockchip pd
> relate stuff. So, let's do it in advance.
> This pachset is based on the latest linux-next[1] which should contain
> the next branch of linux-mmc and dt stuff. It's ideal to pack these all
> into Ulf' tree with Heiko's ack for dts, Rob's ack for Doc and Jaehoon's
> ack for dw_mmc. But it's okay to be merged seperately.
> [1] git://
> Thanks.
> Shawn Lin (5):
> Documentation: mmc: synopsys-dw-mshc: add power domain description
> Documentation: mmc: sdhci-of-arasan: add power domain description

To me this isn't necessary to describe for each device. I think
Documentation/devicetree/bindings/power/power_domain.txt describes all
that is needed.

> arm64: dts: rockchip: Provide power-domains for sd/sdio/emmc
> controllers
> mmc: dw_mmc: add power domain support
> mmc: sdhci-of-arasan: add power domain support

I would rephrase these commit message headers, to something like
"Deploy runtime PM support", as that is actually what you intend to

> Documentation/devicetree/bindings/mmc/arasan,sdhci.txt | 1 +
> Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt | 2 ++
> arch/arm64/boot/dts/rockchip/rk3399.dtsi | 3 +++
> drivers/mmc/host/dw_mmc.c | 11 +++++++++++
> drivers/mmc/host/sdhci-of-arasan.c | 10 ++++++++++
> 5 files changed, 27 insertions(+)
> --
> 2.3.7

Kind regards