diff mbox series

[v2] dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins

Message ID 20220805075503.16983-1-krzysztof.kozlowski@linaro.org
State Accepted
Commit 767470209cedbe2cc72ba38d77c9f096d2c7694c
Headers show
Series [v2] dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins | expand

Commit Message

Krzysztof Kozlowski Aug. 5, 2022, 7:55 a.m. UTC
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(+)

Comments

Jonathan Cameron Aug. 13, 2022, 3:53 p.m. UTC | #1
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
diff mbox series

Patch

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