linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins
@ 2022-08-05  7:55 Krzysztof Kozlowski
  2022-08-06 14:32 ` Jonathan Cameron
  0 siblings, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-05  7:55 UTC (permalink / raw)
  To: Jonathan Cameron, Lars-Peter Clausen, Rob Herring,
	Krzysztof Kozlowski, H. Nikolaus Schaller, linux-iio, devicetree,
	linux-kernel
  Cc: Krzysztof Kozlowski

BMG160 has two interrupt pins to which interrupts can be freely mapped.
Correct the schema to express such case and fix warnings like:

  qcom/msm8916-alcatel-idol347.dtb: gyroscope@68: interrupts: [[97, 1], [98, 1]] is too long

However the basic issue still persists - the interrupts should come in a
defined order.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

---

Changes since v1:
1. Accept also INT2 as one interrupt (Jonathan).
---
 .../devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml         | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml b/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml
index b6bbc312a7cf..1414ba9977c1 100644
--- a/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml
+++ b/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml
@@ -24,8 +24,10 @@ properties:
 
   interrupts:
     minItems: 1
+    maxItems: 2
     description:
       Should be configured with type IRQ_TYPE_EDGE_RISING.
+      If two interrupts are provided, expected order is INT1 and INT2.
 
 required:
   - compatible
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins
  2022-08-05  7:55 [PATCH v2] dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins Krzysztof Kozlowski
@ 2022-08-06 14:32 ` Jonathan Cameron
  2022-08-08  5:48   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Cameron @ 2022-08-06 14:32 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	H. Nikolaus Schaller, linux-iio, devicetree, linux-kernel

On Fri,  5 Aug 2022 09:55:03 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:

> BMG160 has two interrupt pins to which interrupts can be freely mapped.
> Correct the schema to express such case and fix warnings like:
> 
>   qcom/msm8916-alcatel-idol347.dtb: gyroscope@68: interrupts: [[97, 1], [98, 1]] is too long
> 
> However the basic issue still persists - the interrupts should come in a
> defined order.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---
> 
> Changes since v1:
> 1. Accept also INT2 as one interrupt (Jonathan).

This doesn't work. If we are going to support either interrupt, at the very least
we need to require interrupt-names if the first one isn't INT1.  So your fix
is right but not enough.

Driver may ignore interrupt-names for now (would be good to have a sanity check in driver
though so the driver explicitly checks for INT2 and doesn't use the interrupt if
it is INT2 - support for that being for a future 'feature' addition).

A hacky solution would be to require the first one to always be INT1 but that
gives us no (backwards compatible) path forwards if someone does have a board
where only INT2 is wired.

So minimum change I think will be to provide interrupt-names allowing any of
INT1 (default if not specified)
INT1, INT2
INT2

and your fix below.

Thanks,

Jonathan



> ---
>  .../devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml         | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml b/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml
> index b6bbc312a7cf..1414ba9977c1 100644
> --- a/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml
> +++ b/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml
> @@ -24,8 +24,10 @@ properties:
>  
>    interrupts:
>      minItems: 1
> +    maxItems: 2
>      description:
>        Should be configured with type IRQ_TYPE_EDGE_RISING.
> +      If two interrupts are provided, expected order is INT1 and INT2.
>  
>  required:
>    - compatible


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins
  2022-08-06 14:32 ` Jonathan Cameron
@ 2022-08-08  5:48   ` Krzysztof Kozlowski
  2022-08-13 15:53     ` Jonathan Cameron
  0 siblings, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-08  5:48 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	H. Nikolaus Schaller, linux-iio, devicetree, linux-kernel

On 06/08/2022 16:32, Jonathan Cameron wrote:
> On Fri,  5 Aug 2022 09:55:03 +0200
> Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
> 
>> BMG160 has two interrupt pins to which interrupts can be freely mapped.
>> Correct the schema to express such case and fix warnings like:
>>
>>   qcom/msm8916-alcatel-idol347.dtb: gyroscope@68: interrupts: [[97, 1], [98, 1]] is too long
>>
>> However the basic issue still persists - the interrupts should come in a
>> defined order.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>
>> ---
>>
>> Changes since v1:
>> 1. Accept also INT2 as one interrupt (Jonathan).
> 
> This doesn't work. If we are going to support either interrupt, at the very least
> we need to require interrupt-names if the first one isn't INT1.  So your fix
> is right but not enough.
> 
> Driver may ignore interrupt-names for now (would be good to have a sanity check in driver
> though so the driver explicitly checks for INT2 and doesn't use the interrupt if
> it is INT2 - support for that being for a future 'feature' addition).
> 
> A hacky solution would be to require the first one to always be INT1 but that
> gives us no (backwards compatible) path forwards if someone does have a board
> where only INT2 is wired.
> 
> So minimum change I think will be to provide interrupt-names allowing any of
> INT1 (default if not specified)
> INT1, INT2
> INT2

This is exactly what my fix is doing. What else do you need?
interrupt-names is just a helper which anyway driver does not use, so
enforcing it now does not change much.


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins
  2022-08-08  5:48   ` Krzysztof Kozlowski
@ 2022-08-13 15:53     ` Jonathan Cameron
  0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Cameron @ 2022-08-13 15:53 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	H. Nikolaus Schaller, linux-iio, devicetree, linux-kernel

On Mon, 8 Aug 2022 07:48:31 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:

> On 06/08/2022 16:32, Jonathan Cameron wrote:
> > On Fri,  5 Aug 2022 09:55:03 +0200
> > Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
> >   
> >> BMG160 has two interrupt pins to which interrupts can be freely mapped.
> >> Correct the schema to express such case and fix warnings like:
> >>
> >>   qcom/msm8916-alcatel-idol347.dtb: gyroscope@68: interrupts: [[97, 1], [98, 1]] is too long
> >>
> >> However the basic issue still persists - the interrupts should come in a
> >> defined order.
> >>
> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >>
> >> ---
> >>
> >> Changes since v1:
> >> 1. Accept also INT2 as one interrupt (Jonathan).  
> > 
> > This doesn't work. If we are going to support either interrupt, at the very least
> > we need to require interrupt-names if the first one isn't INT1.  So your fix
> > is right but not enough.
> > 
> > Driver may ignore interrupt-names for now (would be good to have a sanity check in driver
> > though so the driver explicitly checks for INT2 and doesn't use the interrupt if
> > it is INT2 - support for that being for a future 'feature' addition).
> > 
> > A hacky solution would be to require the first one to always be INT1 but that
> > gives us no (backwards compatible) path forwards if someone does have a board
> > where only INT2 is wired.
> > 
> > So minimum change I think will be to provide interrupt-names allowing any of
> > INT1 (default if not specified)
> > INT1, INT2
> > INT2  
> 
> This is exactly what my fix is doing. What else do you need?
> interrupt-names is just a helper which anyway driver does not use, so
> enforcing it now does not change much.

Ok. I guess this sort of papers over it in a vague fashion and
avoids pointing out there that there is breakage in the one interrupt case
beyond a hint in the commit message.

Better than nothing but only a partial fix for the actual issue
(where that issue isn't a binding warning!)

Applied to the fixes-togreg branch of iio.git

Thanks,

Jonathan


> 
> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-08-13 15:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-05  7:55 [PATCH v2] dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins Krzysztof Kozlowski
2022-08-06 14:32 ` Jonathan Cameron
2022-08-08  5:48   ` Krzysztof Kozlowski
2022-08-13 15:53     ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).