Re: [PATCH v2 2/4] arm64: dts: ti: k3: squelch warnings regarding no #address-cells for interrupt-controller
From: Nishanth Menon
Date: Thu Nov 19 2020 - 08:28:59 EST
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.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/interrupt-controller/open-pic.txt
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D