From: Jonathan Cameron <jic23@cam.ac.uk>
To: Stephen Warren <swarren@nvidia.com>
Cc: Greg Kroah-Hartman <gregkh@suse.de>,
Jean Delvare <khali@linux-fr.org>,
Ben Dooks <ben-linux@fluff.org>, Arnd Bergmann <arnd@arndb.de>,
Russell King <linux@arm.linux.org.uk>,
Andrew Chew <achew@nvidia.com>,
linux-iio@vger.kernel.org, devel@driverdev.osuosl.org,
linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-i2c@vger.kernel.org
Subject: Re: [PATCH V2 1/4] i2c: Add irq_gpio field to struct i2c_client.
Date: Fri, 02 Sep 2011 09:50:34 +0100 [thread overview]
Message-ID: <4E6098DA.309@cam.ac.uk> (raw)
In-Reply-To: <4E60985B.6010901@cam.ac.uk>
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@nvidia.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)
>
next prev parent reply other threads:[~2011-09-02 8:50 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-01 16:52 [PATCH V2 1/4] i2c: Add irq_gpio field to struct i2c_client Stephen Warren
[not found] ` <1314895964-15964-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-09-01 16:52 ` [PATCH V2 2/4] staging:iio:magnetometer:ak8975 Don't use irq_to_gpio() Stephen Warren
2011-09-01 16:52 ` [PATCH V2 4/4] staging:iio:magnetometer:ak8975: Fix probe() error-handling Stephen Warren
2011-09-01 18:30 ` [PATCH V2 1/4] i2c: Add irq_gpio field to struct i2c_client Arnd Bergmann
2011-09-01 16:52 ` [PATCH V2 3/4] staging:iio:magnetometer:ak8975: Don't assume 0 is an invalid GPIO Stephen Warren
[not found] ` <1314895964-15964-3-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-09-02 8:51 ` Jonathan Cameron
2011-09-01 16:52 ` [PATCH V2 4/4] staging:iio:magnetometer:ak8975: Fix probe() error-handling Stephen Warren
[not found] ` <1314895964-15964-4-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-09-02 8:52 ` Jonathan Cameron
2011-09-01 16:52 ` [PATCH V2 1/4] i2c: Add irq_gpio field to struct i2c_client Stephen Warren
[not found] ` <1314895964-15964-5-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-09-01 17:37 ` Mark Brown
2011-09-02 8:48 ` Jonathan Cameron
2011-09-02 8:50 ` Jonathan Cameron [this message]
[not found] ` <4E60985B.6010901-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
2011-09-02 15:30 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF04B327A55D-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-09-02 16:05 ` Arnd Bergmann
[not found] ` <201109021805.27569.arnd-r2nGTMty4D4@public.gmane.org>
2011-09-07 19:07 ` Mark Brown
2011-09-01 16:52 ` [PATCH V2 2/4] staging:iio:magnetometer:ak8975 Don't use irq_to_gpio() Stephen Warren
2011-09-01 16:52 ` [PATCH V2 3/4] staging:iio:magnetometer:ak8975: Don't assume 0 is an invalid GPIO Stephen Warren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E6098DA.309@cam.ac.uk \
--to=jic23@cam.ac.uk \
--cc=achew@nvidia.com \
--cc=arnd@arndb.de \
--cc=ben-linux@fluff.org \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@suse.de \
--cc=khali@linux-fr.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=swarren@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).