Re: [PATCH] dt-bindings: irqchip: Add #address-cells to PRUSS INTC

2021-01-26 Thread Suman Anna
Hi Rob,

On 1/25/21 8:47 PM, Rob Herring wrote:
> On Mon, Jan 25, 2021 at 6:16 PM Suman Anna  wrote:
>>
>> Hi Rob,
>>
>> On 1/25/21 6:04 PM, Rob Herring wrote:
>>> On Fri, Jan 15, 2021 at 02:58:19PM -0600, Suman Anna wrote:
 The '#address-cells' property looks to be a required property for
 interrupt controller nodes as indicated by a warning message seen
 when building dtbs with W=2. Adding the property to the PRUSS INTC
 dts nodes though fails the dtbs_check. Add this property to the
 PRUSS INTC binding to make it compliant with both dtbs_check and
 building dtbs.

 Signed-off-by: Suman Anna 
 ---
 Hi Rob,

 This patch is also part of our effort to get rid of the warnings seen
 around interrupt providers on TI K3 dtbs [1]. I needed this in the PRUSS
 INTC bindings to not get a warning with dtbs_check while also ensuring
 no warnings while building dtbs with W=2.

 I would have expected the '#address-cells' requirement to be inherited
 automatically. And looking through the schema files, I actually do not
 see the interrupt-controller.yaml included automatically anywhere. You
 had asked us to drop the inclusion in this binding in our first version
 with YAML [3]. Am I missing something, and how do we ensure that this
 is enforced automatically for everyone?
>>>
>>> interrupt-controller.yaml is applied to any node named
>>> 'interrupt-controller'. More generally, if 'compatible' is not present,
>>> then we look at $nodename for the default 'select'. In your case, you
>>> didn't name the node appropriately.
>>
>> Thanks for the clarification. Yeah, I didn't add anything specifically, since
>> the expectation is interrupt-controller. Should I be adding that to this 
>> binding?
> 
> No, either interrupt-controller.yaml needs to learn a new node name or
> your node names need to be fixed. I prefer the latter, but if you have
> more than 1 and don't have a unit-address (and in turn a 'reg' prop)
> we'd have to do the former. How are the interrupts controllers
> accessed if there's no way to address them?

The PRUSS INTC will always have a unit-address, so we won't have the issues with
having to maintain unique names. All my examples already have the nodes in the
form 'interrupt-controller@'. Anyway, I will drop this patch, and post a
new patch adding the $nodename to the binding.

> 
>>
>>>
>>> We can't check this in interrupt-controller.yaml because #address-cells
>>> is not always 0. GICv3 is one notable exception.
>>>

 regards
 Suman

 [1] 
 https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210115083003.27387-1-lokeshvu...@ti.com/
>>>
>>> I've commented on this thread now in regards to #address-cells.
>>
>> I suppose I still need this patch to be defined to unblock the ICSSG nodes
>> getting accepted by our dts maintainer. Care to give your Reviewed-by for the
>> change? Or I can spin a v2 with $nodename added as well if that's needed too.
> 
> No, I don't think you have to add #address-cells. We need to fix the
> warning in dtc.

Thank you for clarifying this.

regards
Suman


Re: [PATCH] dt-bindings: irqchip: Add #address-cells to PRUSS INTC

2021-01-26 Thread Rob Herring
On Mon, Jan 25, 2021 at 6:16 PM Suman Anna  wrote:
>
> Hi Rob,
>
> On 1/25/21 6:04 PM, Rob Herring wrote:
> > On Fri, Jan 15, 2021 at 02:58:19PM -0600, Suman Anna wrote:
> >> The '#address-cells' property looks to be a required property for
> >> interrupt controller nodes as indicated by a warning message seen
> >> when building dtbs with W=2. Adding the property to the PRUSS INTC
> >> dts nodes though fails the dtbs_check. Add this property to the
> >> PRUSS INTC binding to make it compliant with both dtbs_check and
> >> building dtbs.
> >>
> >> Signed-off-by: Suman Anna 
> >> ---
> >> Hi Rob,
> >>
> >> This patch is also part of our effort to get rid of the warnings seen
> >> around interrupt providers on TI K3 dtbs [1]. I needed this in the PRUSS
> >> INTC bindings to not get a warning with dtbs_check while also ensuring
> >> no warnings while building dtbs with W=2.
> >>
> >> I would have expected the '#address-cells' requirement to be inherited
> >> automatically. And looking through the schema files, I actually do not
> >> see the interrupt-controller.yaml included automatically anywhere. You
> >> had asked us to drop the inclusion in this binding in our first version
> >> with YAML [3]. Am I missing something, and how do we ensure that this
> >> is enforced automatically for everyone?
> >
> > interrupt-controller.yaml is applied to any node named
> > 'interrupt-controller'. More generally, if 'compatible' is not present,
> > then we look at $nodename for the default 'select'. In your case, you
> > didn't name the node appropriately.
>
> Thanks for the clarification. Yeah, I didn't add anything specifically, since
> the expectation is interrupt-controller. Should I be adding that to this 
> binding?

No, either interrupt-controller.yaml needs to learn a new node name or
your node names need to be fixed. I prefer the latter, but if you have
more than 1 and don't have a unit-address (and in turn a 'reg' prop)
we'd have to do the former. How are the interrupts controllers
accessed if there's no way to address them?

>
> >
> > We can't check this in interrupt-controller.yaml because #address-cells
> > is not always 0. GICv3 is one notable exception.
> >
> >>
> >> regards
> >> Suman
> >>
> >> [1] 
> >> https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210115083003.27387-1-lokeshvu...@ti.com/
> >
> > I've commented on this thread now in regards to #address-cells.
>
> I suppose I still need this patch to be defined to unblock the ICSSG nodes
> getting accepted by our dts maintainer. Care to give your Reviewed-by for the
> change? Or I can spin a v2 with $nodename added as well if that's needed too.

No, I don't think you have to add #address-cells. We need to fix the
warning in dtc.

Rob


Re: [PATCH] dt-bindings: irqchip: Add #address-cells to PRUSS INTC

2021-01-26 Thread Suman Anna
<<< No Message Collected >>>


Re: [PATCH] dt-bindings: irqchip: Add #address-cells to PRUSS INTC

2021-01-25 Thread Rob Herring
On Fri, Jan 15, 2021 at 02:58:19PM -0600, Suman Anna wrote:
> The '#address-cells' property looks to be a required property for
> interrupt controller nodes as indicated by a warning message seen
> when building dtbs with W=2. Adding the property to the PRUSS INTC
> dts nodes though fails the dtbs_check. Add this property to the
> PRUSS INTC binding to make it compliant with both dtbs_check and
> building dtbs.
> 
> Signed-off-by: Suman Anna 
> ---
> Hi Rob,
> 
> This patch is also part of our effort to get rid of the warnings seen
> around interrupt providers on TI K3 dtbs [1]. I needed this in the PRUSS
> INTC bindings to not get a warning with dtbs_check while also ensuring
> no warnings while building dtbs with W=2.
> 
> I would have expected the '#address-cells' requirement to be inherited
> automatically. And looking through the schema files, I actually do not
> see the interrupt-controller.yaml included automatically anywhere. You
> had asked us to drop the inclusion in this binding in our first version
> with YAML [3]. Am I missing something, and how do we ensure that this
> is enforced automatically for everyone?

interrupt-controller.yaml is applied to any node named 
'interrupt-controller'. More generally, if 'compatible' is not present, 
then we look at $nodename for the default 'select'. In your case, you 
didn't name the node appropriately.
 
We can't check this in interrupt-controller.yaml because #address-cells 
is not always 0. GICv3 is one notable exception.

> 
> regards
> Suman
> 
> [1] 
> https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210115083003.27387-1-lokeshvu...@ti.com/

I've commented on this thread now in regards to #address-cells.

Rob

> [2] 
> https://patchwork.kernel.org/project/linux-arm-kernel/cover/20210114194805.8231-1-s-a...@ti.com/
> [3] https://patchwork.kernel.org/comment/23484523/
> 
>  .../bindings/interrupt-controller/ti,pruss-intc.yaml| 6 ++
>  1 file changed, 6 insertions(+)