dt-bindings: mfd: cros-ec: Allow interrupts-extended property

Message ID 20231130083333.932862-1-wenst@chromium.org
State New
Headers
Series dt-bindings: mfd: cros-ec: Allow interrupts-extended property |

Commit Message

Chen-Yu Tsai Nov. 30, 2023, 8:33 a.m. UTC
  "interrupts-extended" provides a more concise way of describing external
GPIO interrupts.

Allow using this instead of "interrupts" plus "interrupt-parent" for
cros-ec.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
 .../devicetree/bindings/mfd/google,cros-ec.yaml          | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
  

Comments

Krzysztof Kozlowski Nov. 30, 2023, 8:52 a.m. UTC | #1
On 30/11/2023 09:33, Chen-Yu Tsai wrote:
> "interrupts-extended" provides a more concise way of describing external
> GPIO interrupts.
> 
> Allow using this instead of "interrupts" plus "interrupt-parent" for
> cros-ec.
> 
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> ---
>  .../devicetree/bindings/mfd/google,cros-ec.yaml          | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> index e1ca4f297c6d..e514eac9f4fc 100644
> --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> @@ -75,6 +75,9 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  interrupts-extended:
> +    maxItems: 1
> +

I don't understand why you need it. You already have interrupts there,
so this is redundant. I suggest to drop the patch or provide real
rationale (which I doubt you can get :) ).

Best regards,
Krzysztof
  
Chen-Yu Tsai Dec. 1, 2023, 4:37 a.m. UTC | #2
On Thu, Nov 30, 2023 at 4:52 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 30/11/2023 09:33, Chen-Yu Tsai wrote:
> > "interrupts-extended" provides a more concise way of describing external
> > GPIO interrupts.
> >
> > Allow using this instead of "interrupts" plus "interrupt-parent" for
> > cros-ec.
> >
> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > ---
> >  .../devicetree/bindings/mfd/google,cros-ec.yaml          | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > index e1ca4f297c6d..e514eac9f4fc 100644
> > --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > @@ -75,6 +75,9 @@ properties:
> >    interrupts:
> >      maxItems: 1
> >
> > +  interrupts-extended:
> > +    maxItems: 1
> > +
>
> I don't understand why you need it. You already have interrupts there,
> so this is redundant. I suggest to drop the patch or provide real
> rationale (which I doubt you can get :) ).

I'm sorry, I should've included this in the commit message.

The other half of the patch gets rid of a DT validation fail when
interrupts-extended is used instead of interrupts:

.../arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dtb: ec@0:
'interrupts' is a required property
    from schema $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#


maxItems for interrupts-extended was included for completeness. Maybe it
isn't needed? But then how would the validator know how many items should
there be when interrupts-extended is used


Regards
ChenYu
  
Krzysztof Kozlowski Dec. 1, 2023, 8:03 a.m. UTC | #3
On 01/12/2023 05:37, Chen-Yu Tsai wrote:
> On Thu, Nov 30, 2023 at 4:52 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>>
>> On 30/11/2023 09:33, Chen-Yu Tsai wrote:
>>> "interrupts-extended" provides a more concise way of describing external
>>> GPIO interrupts.
>>>
>>> Allow using this instead of "interrupts" plus "interrupt-parent" for
>>> cros-ec.
>>>
>>> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
>>> ---
>>>  .../devicetree/bindings/mfd/google,cros-ec.yaml          | 9 ++++++++-
>>>  1 file changed, 8 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
>>> index e1ca4f297c6d..e514eac9f4fc 100644
>>> --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
>>> +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
>>> @@ -75,6 +75,9 @@ properties:
>>>    interrupts:
>>>      maxItems: 1
>>>
>>> +  interrupts-extended:
>>> +    maxItems: 1
>>> +
>>
>> I don't understand why you need it. You already have interrupts there,
>> so this is redundant. I suggest to drop the patch or provide real
>> rationale (which I doubt you can get :) ).
> 
> I'm sorry, I should've included this in the commit message.
> 
> The other half of the patch gets rid of a DT validation fail when
> interrupts-extended is used instead of interrupts:
> 
> .../arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dtb: ec@0:
> 'interrupts' is a required property
>     from schema $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#
> 

That looks either like a bug in bindings or in dtschema or in your DTS.
This patch should not be needed to solve that.


Best regards,
Krzysztof
  
Rob Herring Dec. 6, 2023, 5:09 p.m. UTC | #4
On Fri, Dec 01, 2023 at 09:03:09AM +0100, Krzysztof Kozlowski wrote:
> On 01/12/2023 05:37, Chen-Yu Tsai wrote:
> > On Thu, Nov 30, 2023 at 4:52 PM Krzysztof Kozlowski
> > <krzysztof.kozlowski@linaro.org> wrote:
> >>
> >> On 30/11/2023 09:33, Chen-Yu Tsai wrote:
> >>> "interrupts-extended" provides a more concise way of describing external
> >>> GPIO interrupts.
> >>>
> >>> Allow using this instead of "interrupts" plus "interrupt-parent" for
> >>> cros-ec.
> >>>
> >>> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> >>> ---
> >>>  .../devicetree/bindings/mfd/google,cros-ec.yaml          | 9 ++++++++-
> >>>  1 file changed, 8 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> >>> index e1ca4f297c6d..e514eac9f4fc 100644
> >>> --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> >>> +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> >>> @@ -75,6 +75,9 @@ properties:
> >>>    interrupts:
> >>>      maxItems: 1
> >>>
> >>> +  interrupts-extended:
> >>> +    maxItems: 1
> >>> +
> >>
> >> I don't understand why you need it. You already have interrupts there,
> >> so this is redundant. I suggest to drop the patch or provide real
> >> rationale (which I doubt you can get :) ).
> > 
> > I'm sorry, I should've included this in the commit message.
> > 
> > The other half of the patch gets rid of a DT validation fail when
> > interrupts-extended is used instead of interrupts:
> > 
> > .../arch/arm64/boot/dts/mediatek/mt8195-cherry-tomato-r1.dtb: ec@0:
> > 'interrupts' is a required property
> >     from schema $id: http://devicetree.org/schemas/mfd/google,cros-ec.yaml#
> > 
> 
> That looks either like a bug in bindings or in dtschema or in your DTS.
> This patch should not be needed to solve that.

I'll be commiting a dtschema fix soon. There's quite a few places 
needing the fixup.

Rob
  

Patch

diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
index e1ca4f297c6d..e514eac9f4fc 100644
--- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
+++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
@@ -75,6 +75,9 @@  properties:
   interrupts:
     maxItems: 1
 
+  interrupts-extended:
+    maxItems: 1
+
   reset-gpios:
     maxItems: 1
 
@@ -199,9 +202,13 @@  allOf:
                 - google,cros-ec-rpmsg
                 - google,cros-ec-uart
     then:
+      oneOf:
+        - required:
+            - interrupts
+        - required:
+            - interrupts-extended
       required:
         - reg
-        - interrupts
 
   - if:
       properties: