Re: [PATCH] dt-bindings: microchip: atmel,at91rm9200-tcb: remove mandatory interrupts property

From: Eugen.Hristev
Date: Fri Feb 04 2022 - 05:28:54 EST


On 2/4/22 11:46 AM, Alexandre Belloni wrote:
> On 04/02/2022 10:14:46+0200, Eugen Hristev wrote:
>> The timer block can be used only to be read and to measure time in a polling
>> fashion. This can be used by Linux like this for example, or it can be used
>> by different projects which do not have interrupt controllers, or do not
>> wish to enable them (e.g. U-boot).
>> As DT is ABI, the binding should relate to all possible use cases and describe
>> the hardware and the requirements.
>> The interrupt is not a hard requirement for the timer to function in a
>> specific way.
>> Thus, choose to remove the interrupts property from the mandatory list of
>> properties.
>>
>
> The correct hardware description is that the interrupt is present on the
> IP. Having software behave differently depending on the presence of that
> property is configuration, not hardware description.

I agree. The interrupt is present on the IP, thus the property exists
and it's described.
However, the interrupt is not mandatory for IP operations. Thus it
should not be in the list of mandatory properties.

>
>> Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx>
>> ---
>> .../devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml | 1 -
>> 1 file changed, 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml b/Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml
>> index 597d67fba92f..27f78459b892 100644
>> --- a/Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml
>> +++ b/Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml
>> @@ -134,7 +134,6 @@ allOf:
>> required:
>> - compatible
>> - reg
>> - - interrupts
>> - clocks
>> - clock-names
>> - '#address-cells'
>> --
>> 2.25.1
>>
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>