On Fri, Jul 26, 2019 at 1:11 PM Corentin Labbe <clabbe.montjoie@xxxxxxxxx> wrote: > > Hello > > When I try to check the following examples of a devicetree schema: > examples: > - | > #include <dt-bindings/interrupt-controller/arm-gic.h> > #include <dt-bindings/clock/sun50i-a64-ccu.h> > #include <dt-bindings/reset/sun50i-a64-ccu.h> > > crypto: crypto@1c15000 { > compatible = "allwinner,sun8i-h3-crypto"; > reg = <0x01c15000 0x1000>; > interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>; > clock-names = "ahb", "mod"; > resets = <&ccu RST_BUS_CE>; > reset-names = "ahb"; > }; > > - | > #include <dt-bindings/interrupt-controller/arm-gic.h> > #include <dt-bindings/clock/sun50i-h6-ccu.h> > #include <dt-bindings/reset/sun50i-h6-ccu.h> > > crypto: crypto@1904000 { > compatible = "allwinner,sun50i-h6-crypto"; > reg = <0x01904000 0x1000>; > interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>, <&ccu CLK_MBUS_CE>; > clock-names = "ahb", "mod", "mbus"; > resets = <&ccu RST_BUS_CE>; > reset-names = "ahb"; > }; > > I get: > In file included from Documentation/devicetree/bindings/crypto/allwinner,sun8i-ce.example.dts:42: > /linux-next/scripts/dtc/include-prefixes/dt-bindings/clock/sun50i-h6-ccu.h:9: warning: "CLK_PLL_PERIPH0" redefined > #define CLK_PLL_PERIPH0 3 > [...] > > So how can I add multiple examples which need somes conflicting #include to be validated. 2 clocks versus 3 clocks hardly seems like a reason for a 2nd example and I would just drop it IMO. You could rename your defines to not collide, but that's kind of painful. The 3rd option is getting dt-extract-example to spit out N example files and then build each one separately. That was more complicated than I cared to figure out with kbuild, so I went the simple route. Rob