All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
	Mark Brown
	<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
	Liam Girdwood <lrg-l0cyMroinI0@public.gmane.org>,
	Chris Ball <cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>,
	ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org,
	olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org,
	linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: [RFC PATCH 0/3] If an IRQ is a GPIO, request and configure it
Date: Thu,  4 Aug 2011 17:00:17 -0600	[thread overview]
Message-ID: <1312498820-2275-1-git-send-email-swarren@nvidia.com> (raw)

In http://www.spinics.net/lists/linux-tegra/msg01731.html, Mark Brown
pointed out that it was a little silly forcing every board or driver
to gpio_request() a GPIO that is later converted to an IRQ, and passed
to request_irq. The first patch in this series instead makes the core
IRQ code perform these calls when appropriate, to avoid duplicating it
everywhere.

However, this change has the potential for significant regressions; at
least some drivers are already calling gpio_request for GPIOs that are
also used as IRQs. This then causes the gpio_request inside the core IRQ
code to fail, which causes functional regressions. I'm not sure how wide-
spread this issue is, but in testing on NVIDIA Tegra, I found two
instances that needed to be fixed. Perhaps  a failure of gpio_request
in the core IRQ code should trigger a WARN rather than returning an
error, to give a grace period for conversion of other code?

Stephen Warren (3):
  irq: If an IRQ is a GPIO, request and configure it
  mmc: tegra: Don't gpio_request GPIOs used as IRQs.
  ASoC: jack_add_gpios: Don't gpio_request GPIOs used as IRQs.

 drivers/mmc/host/sdhci-tegra.c |    8 --------
 kernel/irq/manage.c            |   25 +++++++++++++++++++++++--
 sound/soc/soc-jack.c           |   13 +------------
 3 files changed, 24 insertions(+), 22 deletions(-)

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Warren <swarren@nvidia.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Liam Girdwood <lrg@ti.com>, Chris Ball <cjb@laptop.org>,
	ccross@android.com, olof@lixom.net
Cc: linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	alsa-devel@alsa-project.org, linux-mmc@vger.kernel.org,
	linux-tegra@vger.kernel.org, Stephen Warren <swarren@nvidia.com>
Subject: [RFC PATCH 0/3] If an IRQ is a GPIO, request and configure it
Date: Thu,  4 Aug 2011 17:00:17 -0600	[thread overview]
Message-ID: <1312498820-2275-1-git-send-email-swarren@nvidia.com> (raw)

In http://www.spinics.net/lists/linux-tegra/msg01731.html, Mark Brown
pointed out that it was a little silly forcing every board or driver
to gpio_request() a GPIO that is later converted to an IRQ, and passed
to request_irq. The first patch in this series instead makes the core
IRQ code perform these calls when appropriate, to avoid duplicating it
everywhere.

However, this change has the potential for significant regressions; at
least some drivers are already calling gpio_request for GPIOs that are
also used as IRQs. This then causes the gpio_request inside the core IRQ
code to fail, which causes functional regressions. I'm not sure how wide-
spread this issue is, but in testing on NVIDIA Tegra, I found two
instances that needed to be fixed. Perhaps  a failure of gpio_request
in the core IRQ code should trigger a WARN rather than returning an
error, to give a grace period for conversion of other code?

Stephen Warren (3):
  irq: If an IRQ is a GPIO, request and configure it
  mmc: tegra: Don't gpio_request GPIOs used as IRQs.
  ASoC: jack_add_gpios: Don't gpio_request GPIOs used as IRQs.

 drivers/mmc/host/sdhci-tegra.c |    8 --------
 kernel/irq/manage.c            |   25 +++++++++++++++++++++++--
 sound/soc/soc-jack.c           |   13 +------------
 3 files changed, 24 insertions(+), 22 deletions(-)


WARNING: multiple messages have this Message-ID (diff)
From: swarren@nvidia.com (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/3] If an IRQ is a GPIO, request and configure it
Date: Thu,  4 Aug 2011 17:00:17 -0600	[thread overview]
Message-ID: <1312498820-2275-1-git-send-email-swarren@nvidia.com> (raw)

In http://www.spinics.net/lists/linux-tegra/msg01731.html, Mark Brown
pointed out that it was a little silly forcing every board or driver
to gpio_request() a GPIO that is later converted to an IRQ, and passed
to request_irq. The first patch in this series instead makes the core
IRQ code perform these calls when appropriate, to avoid duplicating it
everywhere.

However, this change has the potential for significant regressions; at
least some drivers are already calling gpio_request for GPIOs that are
also used as IRQs. This then causes the gpio_request inside the core IRQ
code to fail, which causes functional regressions. I'm not sure how wide-
spread this issue is, but in testing on NVIDIA Tegra, I found two
instances that needed to be fixed. Perhaps  a failure of gpio_request
in the core IRQ code should trigger a WARN rather than returning an
error, to give a grace period for conversion of other code?

Stephen Warren (3):
  irq: If an IRQ is a GPIO, request and configure it
  mmc: tegra: Don't gpio_request GPIOs used as IRQs.
  ASoC: jack_add_gpios: Don't gpio_request GPIOs used as IRQs.

 drivers/mmc/host/sdhci-tegra.c |    8 --------
 kernel/irq/manage.c            |   25 +++++++++++++++++++++++--
 sound/soc/soc-jack.c           |   13 +------------
 3 files changed, 24 insertions(+), 22 deletions(-)

             reply	other threads:[~2011-08-04 23:00 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-04 23:00 Stephen Warren [this message]
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
     [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
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=1312498820-2275-1-git-send-email-swarren@nvidia.com \
    --to=swarren-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
    --cc=alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org \
    --cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
    --cc=ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org \
    --cc=cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lrg-l0cyMroinI0@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    /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 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.