On Mon, Nov 17, 2014 at 9:38 AM, Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> wrote: > Default is active low, but if property is specified in DT set INTPOL flag. > > Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> > --- > .../devicetree/bindings/gpio/gpio-mcp23s08.txt | 2 ++ > drivers/gpio/gpio-mcp23s08.c | 30 +++++++++++++++++----- > 2 files changed, 25 insertions(+), 7 deletions(-) > > diff --git a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt > index c306a2d0..47dab72 100644 > --- a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt > +++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt > @@ -57,6 +57,8 @@ Optional device specific properties: > occurred on. If it is not set, the interrupt are only generated for the > bank they belong to. > On devices with only one interrupt output this property is useless. > +- microchip,irq-active-high: Sets the INTPOL flag in the IOCON register. This > + configures the IRQ output as active high. I don't understand this AT ALL. The normal way is that the *client* using the resource specify the polarity. #include <dt-bindings/interrupt-controller/irq.h> interrupts = <0 60 IRQ_TYPE_LEVEL_LOW>; This will then result in .set_type() being called on the irqchip. I suspect the real change you want to do is to support IRQ_TYPE_LEVEL_HIGH and IRQ_TYPE_LEVEL_LOW in the .set_type() callback or something, or just switch all clients from rising to falling edge or vice versa. And it says is "configures the IRQ output", this seems more like an input trigger? Sorry too confused by this, can you explain? Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html