Re: [PATCH 1/4] dt-bindings: mfd: Add sony,cronos-cpld

From: Krzysztof Kozlowski

Date: Mon Oct 20 2025 - 12:11:10 EST


On 20/10/2025 18:01, Timothy Pearson wrote:
>
>
> ----- Original Message -----
>> From: "Krzysztof Kozlowski" <krzysztof.kozlowski@xxxxxxxxxx>
>> To: "Timothy Pearson" <tpearson@xxxxxxxxxxxxxxxxxxxxx>, "robh" <robh@xxxxxxxxxx>
>> Cc: "devicetree" <devicetree@xxxxxxxxxxxxxxx>, "linux-kernel" <linux-kernel@xxxxxxxxxxxxxxx>, "Conor Dooley"
>> <conor+dt@xxxxxxxxxx>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@xxxxxxxxxx>, "Lee Jones" <lee@xxxxxxxxxx>, "Georgy
>> Yakovlev" <Georgy.Yakovlev@xxxxxxxx>, "Shawn Anastasio" <sanastasio@xxxxxxxxxxxxxxxxxxxxx>
>> Sent: Monday, October 20, 2025 10:58:40 AM
>> Subject: Re: [PATCH 1/4] dt-bindings: mfd: Add sony,cronos-cpld
>
>> On 20/10/2025 17:34, Timothy Pearson wrote:
>>>>> + watchdog:
>>>>> + type: object
>>>>> + description: Cronos Platform Watchdog Timer
>>>>> +
>>>>> + allOf:
>>>>> + - $ref: watchdog.yaml#
>>>>> +
>>>>> + properties:
>>>>> + compatible:
>>>>> + const: sony,cronos-watchdog
>>>>
>>>> There's no need for a child node here. 'timeout-sec' can just go in the
>>>> parent node.
>>>
>>> Could you elaborate on this please? As far as I can tell we ref watchdog.yaml
>>> and need some kind of compatible string, so why would I break out timeout-sec
>>> directly here?
>>
>>
>> Please look where the comment was placed. Under $ref? No. Under this
>> compatible. $ref goes to the parent, obviously.
>
> This is not an area of the kernel I'm normally changing, so I appreciate the insight. None of this yaml syntax is particularly obvious the first time it's encountered, at least not to me.

Sure, apologies for sounding harsh.

>
>> You do not need kind of compatible string. Parent already has one. You
>> do not need compatible strings at all to instantiate Linux drivers.
>> That's pretty common pattern for most of MFD-like devices, plenty of
>> examples in the kernel.
>

Maybe this will be useful - bd96801_wdt.c is example driver which
follows correct design and takes timeout from the parent (wd->dev is
parent of watchdog platform device), although parent's bindings lack
$ref to watchdog. I'll fix that.


> Understood.


Best regards,
Krzysztof