Re: [PATCH v2 2/4] arm64: dts: ti: k3: squelch warnings regarding no #address-cells for interrupt-controller

From: Sekhar Nori
Date: Sun Nov 22 2020 - 23:18:27 EST


On 19/11/20 6:58 PM, Nishanth Menon wrote:
> Punting over to Rob and DT team's wisdom..
>
> On 13:17-20201119, Grygorii Strashko wrote:
>>
>>
>> On 18/11/2020 17:12, Nishanth Menon wrote:
>>> On 13:38-20201118, Grygorii Strashko wrote:
>>>> Hi Rob,
>>>>
>>>> On 17/11/2020 18:19, Sekhar Nori wrote:
>>>>> With dtc 1.6.0, building TI device-tree files with W=2 results in warnings
>>>>> like below for all interrupt controllers.
>>>>>
>>>>> /bus@100000/bus@30000000/interrupt-controller1: Missing #address-cells in interrupt provider
>>>>>
>>>>> Fix these by adding #address-cells = <0>; for all interrupt controllers in
>>>>> TI device-tree files. Any other #address-cells value is really only needed
>>>>> if interrupt-map property is being used (which is not the case for existing
>>>>> TI device-tree files)
>>>>>
>>>>> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx>
>>>>> ---
>>>>> arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 5 +++++
>>>>> arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi | 2 ++
>>>>> arch/arm64/boot/dts/ti/k3-am654-base-board.dts | 1 +
>>>>> arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 3 +++
>>>>> arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 1 +
>>>>> arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dts | 1 +
>>>>> arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 11 +++++++++++
>>>>> arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 3 +++
>>>>> 8 files changed, 27 insertions(+)
>>>>>
>>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>>>>> index aa8725db0187..55aaa1404d7d 100644
>>>>> --- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>>>>> +++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
>>>>> @@ -440,6 +440,7 @@
>>>>> interrupt-controller;
>>>>> interrupt-parent = <&gic500>;
>>>>> #interrupt-cells = <1>;
>>>>> + #address-cells = <0>;
>>>> Does it really required or mandatory to have #address-cells = <0>; defined for interrupt-controller DT nodes which
>>>> do not have child nodes and no "interrupt-map"?
>>>
>>> Just to help clarify (I could be mistaken as well): is'nt the
>>> interrupt map for user interrupt map nodes that refer to this
>>> interrupt controller node to state they dont need a parent address
>>> specifier - so are we claiming none of the users will have an
>>> interrupt-map (now and never in the future as well) - we we might want
>>> to explain why we think that is the case, and if we are expecting dtc
>>> to deduce that (if so how?)?
>>>
>>
>> The main reason I commented - is hope to get some clarification from DT maintainers.
>> 90% of interrupt-controller nodes do not have #address-cells and I never seen in in GPIO nodes
>> (most often is present in PCI and GIC nodes).
>> and nobody seems fixing it. So, if we are going to move this direction it's reasonable to get clarification to be sure.
>>
>> And there is no "never" here - #address-cells always can be added if really required.
>
>
> OK - as a GPIO node, but as an interrupt-controller node, I was
> looking at [1] and wondering if that was the precedence.
>
> Yes, will be good to get direction from the DT maintainers on this
> topic.

Shall I respin this series with 2/4 dropped while we wait for decision
on this?

#address-cells warnings on interrupt controller can perhaps be handled
all at once (there are many of those in existing DT anyway).

GPIO is basic support and holds up many other modules (like MMC/SD).

Thanks,
Sekhar