Re: [PATCH v6 31/36] dt-bindings: nds32 CPU Bindings

From: Geert Uytterhoeven
Date: Fri Jan 19 2018 - 10:38:11 EST


Hi Greentime,

On Fri, Jan 19, 2018 at 4:35 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
> 2018-01-19 23:29 GMT+08:00 Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>:
>> On Fri, Jan 19, 2018 at 4:18 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
>>> 2018-01-19 22:52 GMT+08:00 Arnd Bergmann <arnd@xxxxxxxx>:
>>>> On Fri, Jan 19, 2018 at 3:32 PM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
>>>>> 2018-01-18 19:02 GMT+08:00 Arnd Bergmann <arnd@xxxxxxxx>:
>>>>>> On Mon, Jan 15, 2018 at 6:53 AM, Greentime Hu <green.hu@xxxxxxxxx> wrote:
>>>>>>> From: Greentime Hu <greentime@xxxxxxxxxxxxx>
>>>>>>>
>>>>>>> This patch adds nds32 CPU binding documents.
>>>>>>>
>>>>>>> Signed-off-by: Vincent Chen <vincentc@xxxxxxxxxxxxx>
>>>>>>> Signed-off-by: Rick Chen <rick@xxxxxxxxxxxxx>
>>>>>>> Signed-off-by: Zong Li <zong@xxxxxxxxxxxxx>
>>>>>>> Signed-off-by: Greentime Hu <greentime@xxxxxxxxxxxxx>
>>>>>>> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
>>>>>>> ---
>>>>>>> Documentation/devicetree/bindings/nds32/cpus.txt | 37 ++++++++++++++++++++++
>>>>>>> 1 file changed, 37 insertions(+)
>>>>>>> create mode 100644 Documentation/devicetree/bindings/nds32/cpus.txt
>>>>>>>
>>>>>>> diff --git a/Documentation/devicetree/bindings/nds32/cpus.txt b/Documentation/devicetree/bindings/nds32/cpus.txt
>>>>>>> new file mode 100644
>>>>>>> index 0000000..9a52937
>>>>>>> --- /dev/null
>>>>>>> +++ b/Documentation/devicetree/bindings/nds32/cpus.txt
>>>>>>> @@ -0,0 +1,37 @@
>>>>>>> +* Andestech Processor Binding
>>>>>>> +
>>>>>>> +This binding specifies what properties must be available in the device tree
>>>>>>> +representation of a Andestech Processor Core, which is the root node in the
>>>>>>> +tree.
>>>>>>> +
>>>>>>> +Required properties:
>>>>>>> +
>>>>>>> + - compatible:
>>>>>>> + Usage: required
>>>>>>> + Value type: <string>
>>>>>>> + Definition: should be one of:
>>>>>>> + "andestech,n13"
>>>>>>> + "andestech,n15"
>>>>>>> + "andestech,d15"
>>>>>>> + "andestech,n10"
>>>>>>> + "andestech,d10"
>>>>>>> + "andestech,nds32v3"
>>>>>>
>>>>>> Based on https://lkml.org/lkml/2017/11/27/1290, this should say that
>>>>>> the device tree should always list 'andestech,nds32v3' as the most
>>>>>> generic 'compatible' value and list exactly one of the others in
>>>>>> addition.
>>>>
>>>>> I will remove the others and just left "andestech,nds32v3" in here.
>>>>
>>>> No, is not what we want here, the CPU node should list exactly which core
>>>> is used, what we need in the description is a clarification that
>>>> andestech,nds32v3 must be used in addition to the more specific
>>>> string.
>>>
>>> Hi, Arnd:
>>>
>>> Sorry I still don't get your point. Do you mean we should always use
>>> compatible = "andestech,n13", "andestech,nds32v3";
>>> instead of
>>> compatible = "andestech,n13";
>>
>> Exactly. The first value is a device-specific compatible value, the second is
>> a generic fallback.
>>
>>> And I need to add the description in this document.
>>
>> Indeed. See for example
>> Documentation/devicetree/bindings/power/renesas,apmu.txt
>>
>> Thanks!
>
> Hi, Geert:
>
> Thank you and your example.
> I get it. I will update this document like this.
> - compatible: Should be "andestech,<core_name>", "andestech,nds32v3"
> as fallback.

And please keep a list of supported values of "andestech,<core_name>"
in the DT binding document, so checkpatch can validate compatible values.

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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