diff mbox

[2/3] dt-bindings: Document Renesas R-Car FCP power-domains usage

Message ID 1465479695-18644-3-git-send-email-kieran@bingham.xyz (mailing list archive)
State New, archived
Headers show

Commit Message

Kieran Bingham June 9, 2016, 1:41 p.m. UTC
The power domain must be specified to bring the device out of module
standby. Document this in the example provided, so that new additions
are not missed.

Signed-off-by: Kieran Bingham <kieran@bingham.xyz>
---
 Documentation/devicetree/bindings/media/renesas,fcp.txt | 1 +
 1 file changed, 1 insertion(+)

Comments

Rob Herring (Arm) June 10, 2016, 5:39 p.m. UTC | #1
On Thu, Jun 09, 2016 at 02:41:33PM +0100, Kieran Bingham wrote:
> The power domain must be specified to bring the device out of module
> standby. Document this in the example provided, so that new additions
> are not missed.
> 
> Signed-off-by: Kieran Bingham <kieran@bingham.xyz>
> ---
>  Documentation/devicetree/bindings/media/renesas,fcp.txt | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.txt b/Documentation/devicetree/bindings/media/renesas,fcp.txt
> index 271dcfdb5a76..6a55f5215221 100644
> --- a/Documentation/devicetree/bindings/media/renesas,fcp.txt
> +++ b/Documentation/devicetree/bindings/media/renesas,fcp.txt
> @@ -31,4 +31,5 @@ Device node example
>  		compatible = "renesas,r8a7795-fcpv", "renesas,fcpv";
>  		reg = <0 0xfea2f000 0 0x200>;
>  		clocks = <&cpg CPG_MOD 602>;
> +		power-domains = <&sysc R8A7795_PD_A3VP>;

This needs to be documented above too, not just the example.

>  	};
> -- 
> 2.7.4
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Geert Uytterhoeven June 10, 2016, 7:11 p.m. UTC | #2
Hi Rob,

On Fri, Jun 10, 2016 at 7:39 PM, Rob Herring <robh@kernel.org> wrote:
> On Thu, Jun 09, 2016 at 02:41:33PM +0100, Kieran Bingham wrote:
>> The power domain must be specified to bring the device out of module
>> standby. Document this in the example provided, so that new additions
>> are not missed.
>>
>> Signed-off-by: Kieran Bingham <kieran@bingham.xyz>
>> ---
>>  Documentation/devicetree/bindings/media/renesas,fcp.txt | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.txt b/Documentation/devicetree/bindings/media/renesas,fcp.txt
>> index 271dcfdb5a76..6a55f5215221 100644
>> --- a/Documentation/devicetree/bindings/media/renesas,fcp.txt
>> +++ b/Documentation/devicetree/bindings/media/renesas,fcp.txt
>> @@ -31,4 +31,5 @@ Device node example
>>               compatible = "renesas,r8a7795-fcpv", "renesas,fcpv";
>>               reg = <0 0xfea2f000 0 0x200>;
>>               clocks = <&cpg CPG_MOD 602>;
>> +             power-domains = <&sysc R8A7795_PD_A3VP>;
>
> This needs to be documented above too, not just the example.

Why? Power domains are an optional feature, whose presence depends
on the platform, not on the device.

Hence "power-domains" properties may appear in any device node.
Having to document them in every single binding document is overkill.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rob Herring (Arm) June 10, 2016, 9:33 p.m. UTC | #3
On Fri, Jun 10, 2016 at 2:11 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Hi Rob,
>
> On Fri, Jun 10, 2016 at 7:39 PM, Rob Herring <robh@kernel.org> wrote:
>> On Thu, Jun 09, 2016 at 02:41:33PM +0100, Kieran Bingham wrote:
>>> The power domain must be specified to bring the device out of module
>>> standby. Document this in the example provided, so that new additions
>>> are not missed.
>>>
>>> Signed-off-by: Kieran Bingham <kieran@bingham.xyz>
>>> ---
>>>  Documentation/devicetree/bindings/media/renesas,fcp.txt | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.txt b/Documentation/devicetree/bindings/media/renesas,fcp.txt
>>> index 271dcfdb5a76..6a55f5215221 100644
>>> --- a/Documentation/devicetree/bindings/media/renesas,fcp.txt
>>> +++ b/Documentation/devicetree/bindings/media/renesas,fcp.txt
>>> @@ -31,4 +31,5 @@ Device node example
>>>               compatible = "renesas,r8a7795-fcpv", "renesas,fcpv";
>>>               reg = <0 0xfea2f000 0 0x200>;
>>>               clocks = <&cpg CPG_MOD 602>;
>>> +             power-domains = <&sysc R8A7795_PD_A3VP>;
>>
>> This needs to be documented above too, not just the example.
>
> Why? Power domains are an optional feature, whose presence depends
> on the platform, not on the device.

Examples are not documentation. The binding should stand on its own
without the example.

How did I know this is optional unless you document it as optional?
How many power domains does the device have?

> Hence "power-domains" properties may appear in any device node.
> Having to document them in every single binding document is overkill.

We do it for everything else pretty much. There's some exceptions like "status".

I agree that we get a bunch of redundancy with random text describing
the properties. I'm all for a structured syntax that can distill the
device bindings down to the pertainent information. If only someone
proposed using yaml or something...

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Geert Uytterhoeven June 12, 2016, 8:46 a.m. UTC | #4
Hi Rob,

CC linux-pm

On Fri, Jun 10, 2016 at 11:33 PM, Rob Herring <robh@kernel.org> wrote:
> On Fri, Jun 10, 2016 at 2:11 PM, Geert Uytterhoeven
> <geert@linux-m68k.org> wrote:
>> On Fri, Jun 10, 2016 at 7:39 PM, Rob Herring <robh@kernel.org> wrote:
>>> On Thu, Jun 09, 2016 at 02:41:33PM +0100, Kieran Bingham wrote:
>>>> The power domain must be specified to bring the device out of module
>>>> standby. Document this in the example provided, so that new additions
>>>> are not missed.
>>>>
>>>> Signed-off-by: Kieran Bingham <kieran@bingham.xyz>
>>>> ---
>>>>  Documentation/devicetree/bindings/media/renesas,fcp.txt | 1 +
>>>>  1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.txt b/Documentation/devicetree/bindings/media/renesas,fcp.txt
>>>> index 271dcfdb5a76..6a55f5215221 100644
>>>> --- a/Documentation/devicetree/bindings/media/renesas,fcp.txt
>>>> +++ b/Documentation/devicetree/bindings/media/renesas,fcp.txt
>>>> @@ -31,4 +31,5 @@ Device node example
>>>>               compatible = "renesas,r8a7795-fcpv", "renesas,fcpv";
>>>>               reg = <0 0xfea2f000 0 0x200>;
>>>>               clocks = <&cpg CPG_MOD 602>;
>>>> +             power-domains = <&sysc R8A7795_PD_A3VP>;
>>>
>>> This needs to be documented above too, not just the example.
>>
>> Why? Power domains are an optional feature, whose presence depends
>> on the platform, not on the device.
>
> Examples are not documentation. The binding should stand on its own
> without the example.
>
> How did I know this is optional unless you document it as optional?
> How many power domains does the device have?

The device does not have power domains, and is not aware of the existence
of power domains. Each SoC has one or more power domains.

"power-domains" properties are used to describe the hierarchical relationship
between power domains and the devices that resides in these power domains.
Just like nodes and subnodes describe the hierarchical relationship between
buses and the devices directly connected to these buses.

On the (Linux) software side, the device driver does have to use Runtime PM
if an SoC has more power domains than just the single "always-on" power domain.

>> Hence "power-domains" properties may appear in any device node.
>> Having to document them in every single binding document is overkill.
>
> We do it for everything else pretty much. There's some exceptions like "status".

IMHO having to document "power-domains" in every single DT binding is
as silly as having to document that the device node must be a child of the bus
device node in every single DT binding. This belongs in the DT binding of the
power controller, which is the device controlling the power domain.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/media/renesas,fcp.txt b/Documentation/devicetree/bindings/media/renesas,fcp.txt
index 271dcfdb5a76..6a55f5215221 100644
--- a/Documentation/devicetree/bindings/media/renesas,fcp.txt
+++ b/Documentation/devicetree/bindings/media/renesas,fcp.txt
@@ -31,4 +31,5 @@  Device node example
 		compatible = "renesas,r8a7795-fcpv", "renesas,fcpv";
 		reg = <0 0xfea2f000 0 0x200>;
 		clocks = <&cpg CPG_MOD 602>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
 	};