[PATCH] dt-bindings: interrupt-controller: Convert Atmel AIC to json-schema

Dharma.B at microchip.com Dharma.B at microchip.com
Thu Feb 8 22:31:15 PST 2024


Hi Conor,

On 09/02/24 12:19 am, Conor Dooley wrote:
> Hey Dharma,
> 
> On Thu, Feb 08, 2024 at 03:51:31PM +0000, Rob Herring wrote:
>> On Thu, 08 Feb 2024 14:50:15 +0530, Dharma Balasubiramani wrote:
>>> Convert the Atmel AIC binding document to DT schema format using
>>> json-schema.
>>>
>>> Signed-off-by: Dharma Balasubiramani<dharma.b at microchip.com>
>>> ---
>>> Note: I get the following warnings on latest kernel but not in 6.7.
>>> Should I be worried?
>>> usage: yamllint [-h] [-] [-c CONFIG_FILE | -d CONFIG_DATA] [--list-files] [-f {parsable,standard,colored,github,auto}] [-s] [--no-warnings] [-v] [FILE_OR_DIR [FILE_OR_DIR ...]]
>>> yamllint: error: one of the arguments FILE_OR_DIR - is required
> Hard to say, how were you envoking the command? There were some issues
> recently with dt_binding_check, but I thought those had been fixed.

I use this command to validate

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/interrupt-controller/atmel,aic.yaml

and also dtbs_check.

version = yamllint 1.32.0
> 
>> dtschema/dtc warnings/errors:
>> Documentation/devicetree/bindings/interrupt-controller/atmel,aic.example.dtb: /example-1/dma-controller at ffffec00: failed to match any schema with compatible: ['atmel,at91sam9g45-dma']
> But you didn't see this warning?

No I didn't see this warning when applied on tag:6.7. Don't know why.

> I think you can resolve it by just dropping the "user" example from the
> binding entirely. I don't think it adds anything at all.

I intentionally checked the generated example dts file and found that 
both the examples look correct.

     example-0 {
         #address-cells = <1>;
         #size-cells = <1>;

         /* AIC */
         aic: interrupt-controller at fffff000 {
           compatible = "atmel,at91rm9200-aic";
           interrupt-controller;
           #interrupt-cells = <3>;
           reg = <0xfffff000 0x200>;
           atmel,external-irqs = <31>;
         };

     };

     example-1 {
         #address-cells = <1>;
         #size-cells = <1>;

         interrupt-parent = <&fake_intc1>;
         fake_intc1: fake-interrupt-controller {
             interrupt-controller;
             #interrupt-cells = < 3 >;
         };

         /* An interrupt generating device that is wired to an AIC. */
         dma: dma-controller at ffffec00 {
           compatible = "atmel,at91sam9g45-dma";
           #dma-cells = <2>;
           reg = <0xffffec00 0x200>;
           interrupts = <21 4 5>;
         };

     };

> 
> Cheers,
> Conor.

Please correct me if I'm doing something wrong here.

-- 
With Best Regards,
Dharma B.



More information about the linux-arm-kernel mailing list