From: Mark Brown <broonie@opensource.wolfsonmicro.com> To: Stephen Warren <swarren@nvidia.com> Cc: Thomas Gleixner <tglx@linutronix.de>, Liam Girdwood <lrg@ti.com>, Chris Ball <cjb@laptop.org>, "ccross@android.com" <ccross@android.com>, "olof@lixom.net" <olof@lixom.net>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>, "linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>, "linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org> Subject: Re: [PATCH 1/3] irq: If an IRQ is a GPIO, request and configure it Date: Fri, 5 Aug 2011 06:35:11 +0100 [thread overview] Message-ID: <20110805053510.GA16956@opensource.wolfsonmicro.com> (raw) In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF049F171EC1@HQMAIL01.nvidia.com> On Thu, Aug 04, 2011 at 08:53:34PM -0700, Stephen Warren wrote: > Well, things break. This is essentially the problem I was describing in > the PATCH 0 email, just with a slightly different motivation. There's a bunch of existing code using that idiom. > I suppose that an alternative here would be to simply ignore any errors > from gpio_request. This might have the benefit of removing the need for > the other two patches I posted in the series. However, it seems a little > dirty; one benefit of the IRQ code calling gpio_request and honoring > errors would be to detect when some completely unrelated code had a bug > and had called gpio_request on the GPIO before. Such detection would be > non-existent if we don't error out on gpio_request. Perhaps some mechanism > is needed to indicate that the driver has explicitly already called > gpio_request for a legitimate shared purpose, and only then ignore > errors? But it's not a bug to use a GPIO as an IRQ source, otherwise we wouldn't have gpio_to_irq() in the first place. Feels like we need a backchannel between gpiolib and the IRQ code to do this. Or perhaps the drivers that implement this should be taking care of setting up the GPIO mode?
WARNING: multiple messages have this Message-ID (diff)
From: broonie@opensource.wolfsonmicro.com (Mark Brown) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 1/3] irq: If an IRQ is a GPIO, request and configure it Date: Fri, 5 Aug 2011 06:35:11 +0100 [thread overview] Message-ID: <20110805053510.GA16956@opensource.wolfsonmicro.com> (raw) In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF049F171EC1@HQMAIL01.nvidia.com> On Thu, Aug 04, 2011 at 08:53:34PM -0700, Stephen Warren wrote: > Well, things break. This is essentially the problem I was describing in > the PATCH 0 email, just with a slightly different motivation. There's a bunch of existing code using that idiom. > I suppose that an alternative here would be to simply ignore any errors > from gpio_request. This might have the benefit of removing the need for > the other two patches I posted in the series. However, it seems a little > dirty; one benefit of the IRQ code calling gpio_request and honoring > errors would be to detect when some completely unrelated code had a bug > and had called gpio_request on the GPIO before. Such detection would be > non-existent if we don't error out on gpio_request. Perhaps some mechanism > is needed to indicate that the driver has explicitly already called > gpio_request for a legitimate shared purpose, and only then ignore > errors? But it's not a bug to use a GPIO as an IRQ source, otherwise we wouldn't have gpio_to_irq() in the first place. Feels like we need a backchannel between gpiolib and the IRQ code to do this. Or perhaps the drivers that implement this should be taking care of setting up the GPIO mode?
next prev parent reply other threads:[~2011-08-05 5:35 UTC|newest] Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-08-04 23:00 [RFC PATCH 0/3] If an IRQ is a GPIO, request and configure it Stephen Warren 2011-08-04 23:00 ` Stephen Warren 2011-08-04 23:00 ` Stephen Warren [not found] ` <1312498820-2275-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2011-08-04 23:00 ` [PATCH 1/3] irq: " Stephen Warren 2011-08-04 23:00 ` Stephen Warren 2011-08-04 23:00 ` Stephen Warren 2011-08-05 0:01 ` Mark Brown 2011-08-05 0:01 ` Mark Brown 2011-08-05 0:01 ` Mark Brown [not found] ` <20110805000148.GB13321-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> 2011-08-05 3:53 ` Stephen Warren 2011-08-05 3:53 ` Stephen Warren 2011-08-05 3:53 ` Stephen Warren 2011-08-05 5:35 ` Mark Brown [this message] 2011-08-05 5:35 ` Mark Brown 2011-08-05 5:35 ` Mark Brown [not found] ` <20110805053510.GA16956-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> 2011-08-05 8:06 ` Ben Dooks 2011-08-05 8:06 ` Ben Dooks 2011-08-05 8:06 ` Ben Dooks 2011-08-05 8:29 ` Mark Brown 2011-08-05 8:29 ` Mark Brown 2011-08-05 8:29 ` Mark Brown 2011-08-05 15:29 ` Stephen Warren 2011-08-05 15:29 ` Stephen Warren 2011-08-05 15:29 ` Stephen Warren 2011-08-05 16:15 ` Mark Brown 2011-08-05 16:15 ` Mark Brown 2011-08-05 16:15 ` Mark Brown 2011-08-05 1:54 ` Rob Herring 2011-08-05 1:54 ` Rob Herring 2011-08-05 4:05 ` Stephen Warren 2011-08-05 4:05 ` Stephen Warren 2011-08-05 4:05 ` Stephen Warren 2011-08-05 7:58 ` Ben Dooks 2011-08-05 7:58 ` Ben Dooks 2011-09-02 8:36 ` Thomas Gleixner 2011-09-02 8:36 ` Thomas Gleixner 2011-09-02 15:24 ` Stephen Warren 2011-09-02 15:24 ` Stephen Warren 2011-09-02 15:24 ` Stephen Warren [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF04B327A55C-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 2011-09-02 15:34 ` Stephen Warren 2011-09-02 15:34 ` Stephen Warren 2011-09-02 15:34 ` Stephen Warren 2011-09-02 15:50 ` Thomas Gleixner 2011-09-02 15:50 ` Thomas Gleixner 2011-09-02 15:50 ` Thomas Gleixner 2011-08-04 23:00 ` [PATCH 2/3] mmc: tegra: Don't gpio_request GPIOs used as IRQs Stephen Warren 2011-08-04 23:00 ` Stephen Warren 2011-08-04 23:00 ` Stephen Warren 2011-08-04 23:00 ` [PATCH 3/3] ASoC: jack_add_gpios: " Stephen Warren 2011-08-04 23:00 ` Stephen Warren 2011-08-04 23:00 ` Stephen Warren 2011-08-05 7:55 ` [RFC PATCH 0/3] If an IRQ is a GPIO, request and configure it Ben Dooks 2011-08-05 7:55 ` Ben Dooks 2011-08-05 7:55 ` Ben Dooks 2011-08-05 9:40 ` Russell King - ARM Linux 2011-08-05 9:40 ` Russell King - ARM Linux [not found] ` <20110805094017.GC20575-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> 2011-08-05 10:30 ` Ben Dooks 2011-08-05 10:30 ` Ben Dooks 2011-08-05 10:30 ` Ben Dooks 2011-08-05 20:25 ` Linus Walleij 2011-08-05 20:25 ` Linus Walleij 2011-08-05 15:43 ` Stephen Warren 2011-08-05 15:43 ` Stephen Warren 2011-08-05 15:43 ` Stephen Warren 2011-08-05 19:15 ` Russell King - ARM Linux 2011-08-05 19:15 ` Russell King - ARM Linux 2011-08-05 19:15 ` Russell King - ARM Linux 2011-08-05 19:33 ` Stephen Warren 2011-08-05 19:33 ` Stephen Warren 2011-08-05 19:33 ` Stephen Warren 2011-08-05 21:40 ` Russell King - ARM Linux 2011-08-05 21:40 ` Russell King - ARM Linux 2011-08-05 21:40 ` Russell King - ARM Linux
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=20110805053510.GA16956@opensource.wolfsonmicro.com \ --to=broonie@opensource.wolfsonmicro.com \ --cc=alsa-devel@alsa-project.org \ --cc=ccross@android.com \ --cc=cjb@laptop.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mmc@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=lrg@ti.com \ --cc=olof@lixom.net \ --cc=swarren@nvidia.com \ --cc=tglx@linutronix.de \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.