[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E6098DA.309@cam.ac.uk>
Date: Fri, 02 Sep 2011 09:50:34 +0100
From: Jonathan Cameron <jic23@....ac.uk>
To: Stephen Warren <swarren@...dia.com>
CC: Greg Kroah-Hartman <gregkh@...e.de>,
Jean Delvare <khali@...ux-fr.org>,
Ben Dooks <ben-linux@...ff.org>, Arnd Bergmann <arnd@...db.de>,
Russell King <linux@....linux.org.uk>,
Andrew Chew <achew@...dia.com>, linux-iio@...r.kernel.org,
devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org,
linux-tegra@...r.kernel.org, linux-i2c@...r.kernel.org
Subject: Re: [PATCH V2 1/4] i2c: Add irq_gpio field to struct i2c_client.
On 09/02/11 09:48, Jonathan Cameron wrote:
> On 09/01/11 17:52, Stephen Warren wrote:
>> Some devices use a single pin as both an IRQ and a GPIO. In that case,
>> irq_gpio is the GPIO ID for that pin. Not all drivers use this feature.
>> Where they do, and the use of this feature is optional, and the system
>> wishes to disable this feature, this field must be explicitly set to a
>> defined invalid GPIO ID, such as -1.
> Why make it specifically an irq related gpio? Might as well just call it
> gpio then it can be used for cases where it never corresponds to an irq
> such as capture trigger pins.
>
> Otherwise I'd be happy to see this go in.
oops, should have taken a closer look. For i2c devices specified by i2c_board_info
structs there is no way of actually specifying this value.
>>
>> Signed-off-by: Stephen Warren <swarren@...dia.com>
>> ---
>> v2: This patch is new. This updated series based on Arnd's comments that
>> this solution was a good idea.
>>
>> Note that I leave on vacation for 2 weeks starting Friday afternoon. I
>> may have some email capabilities during this time, but will certainly be
>> slow to respond.
>>
>> include/linux/i2c.h | 7 +++++++
>> 1 files changed, 7 insertions(+), 0 deletions(-)
>>
>> diff --git a/include/linux/i2c.h b/include/linux/i2c.h
>> index 3fad485..b368097 100644
>> --- a/include/linux/i2c.h
>> +++ b/include/linux/i2c.h
>> @@ -192,6 +192,12 @@ struct i2c_driver {
>> * @driver: device's driver, hence pointer to access routines
>> * @dev: Driver model device node for the slave.
>> * @irq: indicates the IRQ generated by this device (if any)
>> + * @irq_gpio: some devices use a single pin as both an IRQ and a GPIO. In
>> + * that case, irq_gpio is the GPIO ID for that pin. Not all drivers
>> + * use this feature. Where they do, and the use of this feature is
>> + * optional, and the system wishes to disable this feature, this
>> + * field must be explicitly set to a defined invalid GPIO ID, such
>> + * as -1.
>> * @detected: member of an i2c_driver.clients list or i2c-core's
>> * userspace_devices list
>> *
>> @@ -209,6 +215,7 @@ struct i2c_client {
>> struct i2c_driver *driver; /* and our access routines */
>> struct device dev; /* the device structure */
>> int irq; /* irq issued by device */
>> + int irq_gpio; /* gpio corresponding to irq */
>> struct list_head detected;
>> };
>> #define to_i2c_client(d) container_of(d, struct i2c_client, dev)
>
--
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