Message ID | 20210614163150.7774-2-stephan@gerhold.net |
---|---|
State | Accepted |
Commit | 39361c997dc781dc590a8e45107b288f3e3f27d7 |
Headers | show |
Series | [1/3] dt-bindings: iio: accel: bma255: Fix interrupt type | expand |
On Mon, Jun 14, 2021 at 6:34 PM Stephan Gerhold <stephan@gerhold.net> wrote: > Bosch accelerometers similar to BMA255 are initially configured to > emit an active-high interrupt signal. This is currently not re-configured > in the bmc150-accel driver so the interrupt should most certainly be > IRQ_TYPE_EDGE_RISING (or potentially IRQ_TYPE_LEVEL_HIGH). > (Unless there is some kind of inverter installed on the board...) > > At the moment the bmc150-accel driver forcefully requests the IRQ > using IRQF_TRIGGER_RISING, which means that the IRQ type is currently > ignored in all existing device trees. > > Fixes: 6259551 ("iio: accel: bmc150-accel: Add DT bindings") > Cc: Linus Walleij <linus.walleij@linaro.org> > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> > However: > 1. We need to fix up several broken device trees first (I found > IRQ_TYPE_LEVEL_LOW in some device trees). Oh this situation... Some are mine I bet (I can fix those, just poke me with something sharp.) > 2. Similarly, I'm not sure if this might break some ACPI devices > in case they have the wrong IRQ type listed? I never figured this out but Andy and maybe Bastien Nocera knows more about this. > As a first step this patch just fixes the documentation. Fair enough, it makes things better. Yours, Linus Walleij
On Mon, 14 Jun 2021 18:31:48 +0200, Stephan Gerhold wrote: > Bosch accelerometers similar to BMA255 are initially configured to > emit an active-high interrupt signal. This is currently not re-configured > in the bmc150-accel driver so the interrupt should most certainly be > IRQ_TYPE_EDGE_RISING (or potentially IRQ_TYPE_LEVEL_HIGH). > (Unless there is some kind of inverter installed on the board...) > > At the moment the bmc150-accel driver forcefully requests the IRQ > using IRQF_TRIGGER_RISING, which means that the IRQ type is currently > ignored in all existing device trees. > > Fixes: 6259551 ("iio: accel: bmc150-accel: Add DT bindings") > Cc: Linus Walleij <linus.walleij@linaro.org> > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > --- > It's probably better to let the bmc150-accel driver rely on the IRQ > type provided by the device tree in case of inverters or something. > > However: > 1. We need to fix up several broken device trees first (I found > IRQ_TYPE_LEVEL_LOW in some device trees). > 2. Similarly, I'm not sure if this might break some ACPI devices > in case they have the wrong IRQ type listed? > > As a first step this patch just fixes the documentation. > --- > Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Acked-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml index e830d5295b92..b37ba902e4a2 100644 --- a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml +++ b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml @@ -38,7 +38,7 @@ properties: description: | The first interrupt listed must be the one connected to the INT1 pin, the second (optional) interrupt listed must be the one connected to the - INT2 pin (if available). + INT2 pin (if available). The type should be IRQ_TYPE_EDGE_RISING. mount-matrix: description: an optional 3x3 mounting rotation matrix. @@ -63,7 +63,7 @@ examples: reg = <0x08>; vddio-supply = <&vddio>; vdd-supply = <&vdd>; - interrupts = <57 IRQ_TYPE_EDGE_FALLING>; + interrupts = <57 IRQ_TYPE_EDGE_RISING>; }; }; - |
Bosch accelerometers similar to BMA255 are initially configured to emit an active-high interrupt signal. This is currently not re-configured in the bmc150-accel driver so the interrupt should most certainly be IRQ_TYPE_EDGE_RISING (or potentially IRQ_TYPE_LEVEL_HIGH). (Unless there is some kind of inverter installed on the board...) At the moment the bmc150-accel driver forcefully requests the IRQ using IRQF_TRIGGER_RISING, which means that the IRQ type is currently ignored in all existing device trees. Fixes: 6259551 ("iio: accel: bmc150-accel: Add DT bindings") Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- It's probably better to let the bmc150-accel driver rely on the IRQ type provided by the device tree in case of inverters or something. However: 1. We need to fix up several broken device trees first (I found IRQ_TYPE_LEVEL_LOW in some device trees). 2. Similarly, I'm not sure if this might break some ACPI devices in case they have the wrong IRQ type listed? As a first step this patch just fixes the documentation. --- Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)