[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <561F72CB.1050606@posteo.de>
Date: Thu, 15 Oct 2015 11:32:59 +0200
From: Martin Kepplinger <martink@...teo.de>
To: Lars-Peter Clausen <lars@...afoo.de>, robh+dt@...nel.org,
pawel.moll@....com, mark.rutland@....com,
ijc+devicetree@...lion.org.uk, galak@...eaurora.org,
jic23@...nel.org, knaack.h@....de, pmeerw@...erw.net,
mfuzzey@...keon.com
CC: devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-iio@...r.kernel.org,
Martin Kepplinger <martin.kepplinger@...obroma-systems.com>
Subject: Re: [PATCH v3] iio: mma8452: support either of the available interrupt
pins
Am 2015-10-14 um 17:12 schrieb Lars-Peter Clausen:
> On 10/14/2015 03:15 PM, Martin Kepplinger wrote:
> [...]
>> + if (irq1 > 0)
>> + client->irq = irq1;
>
> You must not overwrite client->irq, that field is manged by the I2C core and
> is supposed to be read only for device drivers.
>
I thought about it again and before I implement it, let me show you:
since interrupt-names would be "invented" anyways ("INT1", "INT2"),
here's an idea for the bindings doc that would be a more long-term
solution to implement:
- interrupts: interrupt mapping for GPIO IRQ
These devices have two interrupt pins called INT1 and INT2 they
can route their different interrupt sources to:
IRQ Name Interrupt Source Wired Pin
-------- ---------------- ---------
DATA_READY_1 data ready INT1
DATA_READY_2 INT2
MOTION_1 motion events INT1
MOTION_2 INT2
INT1 all INT1
INT2 INT2
- interrupt-names: should contain IRQ Names in the order in which they
were supplied in the interrupts property.
Depending on how your chip is wired and what
interrupt sources should be handled by the driver,
choose one IRQ Name per Interrupt source, or
INT1/INT2 for all sources to one pin here.
Example 1:
mma8453fc@1d {
compatible = "fsl,mma8453";
reg = <0x1d>;
interrupt-parent = <&gpio1>;
interrupts = <5 0>;
interrupt-names = "INT2"; // interrupt pin wired to INT2
};
Example 2:
mma8453fc@1d {
compatible = "fsl,mma8453";
reg = <0x1d>;
interrupt-parent = <&gpio1>;
interrupts = <4 0>, <5 0>;
/* data ready comes from INT2, motion events from INT1 */
interrupt-names = "DATA_READY_2", "MOTION_1";
};
What do you think?
thanks
martin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists