Message ID | 20220204081446.474991-1-eugen.hristev@microchip.com |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | dt-bindings: microchip: atmel,at91rm9200-tcb: remove mandatory interrupts property | expand |
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. > Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> > --- > .../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 >
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@microchip.com> >> --- >> .../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 >
On 04/02/2022 10:28:43+0000, Eugen.Hristev@microchip.com wrote: > 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. > If the interrupt is always present, it is mandatory, it doesn't matter whether is is used or necessary to get the IP to work. > > > >> Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> > >> --- > >> .../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 > > >
On Fri, Feb 04, 2022 at 11:36:02AM +0100, Alexandre Belloni wrote: > On 04/02/2022 10:28:43+0000, Eugen.Hristev@microchip.com wrote: > > 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. > > > > If the interrupt is always present, it is mandatory, it doesn't matter > whether is is used or necessary to get the IP to work. Agreed.
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'
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. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> --- .../devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml | 1 - 1 file changed, 1 deletion(-)