All of lore.kernel.org
 help / color / mirror / Atom feed
From: grant.likely@secretlab.ca (Grant Likely)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/16] drivers/gpio: gpio-nomadik: Add support for irqdomains
Date: Thu, 17 May 2012 15:49:43 -0600	[thread overview]
Message-ID: <20120517214943.A350F3E0621@localhost> (raw)
In-Reply-To: <4F90D19B.9020408@gmail.com>

On Thu, 19 Apr 2012 22:01:47 -0500, Rob Herring <robherring2@gmail.com> wrote:
> On 04/19/2012 11:23 AM, Arnd Bergmann wrote:
> > On Wednesday 18 April 2012, Linus Walleij wrote:
> >>
> >> On Wed, Apr 18, 2012 at 6:22 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> >>
> >>> The problem is that we cannot put the interrupt resources into the platform
> >>> device until the irq domain has been added. Right now, we set the gic
> >>> interrupt domain from init_IRQ(), then add the load the gpio
> >>> driver from core_initcall(nmk_gpio_init) and add the platform devices
> >>> from arch_initcall(customize_machine).
> >>>
> >>> This feels fragile because it depends on the gpio device getting probed
> >>> before any device using the gpio interrupts. It does seem to work fine
> >>> right now, but I'm not convinced that this is just coincidence.
> >>
> >> Aha OK. Why not put in that big comment then, thus nobody will
> >> ever miss the point like I did :-)
> >>
> > 
> > I think I've just come up with a solution to this problem and would
> > like to hear what Rob and Grant think about this:
> > 
> > If we move the code that adds the resources to a platform_device
> > from of_device_alloc() to  platform_drv_probe(), we can defer
> > looking up the interrupt number until the driver actually gets
> > probed and bail out early with -EPROBE_DEFER if the irq domain
> > is not available yet. That will even work when we have a builtin
> > driver for a device that uses a GPIO interrupt and the gpio controller
> > driver is a loadable module.
> > 
> 
> That certainly seems like a plausible solution and I don't have any
> thing better to suggest. Does that affect non-DT platform devices in a
> negative way?

I've been thinking about doing something like this for a while.  If
drivers are encouraged to use something like platform_get_irq(), or
maybe a more generic interface for more than just platform devices,
then there can be hooks in there to resolve irqs at probe time instead
of device creation time.  So I certainly support that approach.

g.

  reply	other threads:[~2012-05-17 21:49 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-17 10:43 [PATCH 0/16] Another round of Device Tree enablement for Snowball Lee Jones
2012-04-17 10:43 ` [PATCH 01/16] ARM: ux500: Enable the external bus with Device Tree Lee Jones
2012-04-18 15:54   ` Linus Walleij
2012-04-17 10:43 ` [PATCH 02/16] drivers/gpio: gpio-nomadik: Add support for irqdomains Lee Jones
2012-04-18 16:09   ` Linus Walleij
2012-04-18 16:22     ` Arnd Bergmann
2012-04-18 16:26       ` Linus Walleij
2012-04-19 16:23         ` Arnd Bergmann
2012-04-20  3:01           ` Rob Herring
2012-05-17 21:49             ` Grant Likely [this message]
2012-04-20  6:47           ` Linus Walleij
2012-04-17 10:43 ` [PATCH 03/16] ARM: ux500: Use correct format for dynamic IRQ assignment Lee Jones
2012-04-18 16:11   ` Linus Walleij
2012-04-17 10:43 ` [PATCH 04/16] drivers/net: Do not free an IRQ if its request failed Lee Jones
2012-04-18 16:12   ` Linus Walleij
2012-04-17 10:43 ` [PATCH 05/16] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement Lee Jones
2012-04-17 10:43 ` [PATCH 06/16] ARM: ux500: New DT:ed u8500_init_devices " Lee Jones
2012-04-17 10:43 ` [PATCH 07/16] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
2012-04-18 16:16   ` Linus Walleij
2012-04-17 10:44 ` [PATCH 08/16] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests Lee Jones
2012-04-18 16:18   ` Linus Walleij
2012-04-17 10:44 ` [PATCH 09/16] ARM: ux500: Correctly describe SMSC9115 for Snowball in DT Lee Jones
2012-04-17 10:44 ` [PATCH 10/16] drivers/gpio: represent gpio-nomadik as an IRQ controller in DT documentation Lee Jones
2012-04-17 14:38   ` Arnd Bergmann
2012-04-17 15:32     ` Lee Jones
2012-04-17 15:45     ` [PATCH 10/16 v2] " Lee Jones
2012-04-17 15:58     ` Lee Jones
2012-04-17 10:44 ` [PATCH 11/16] ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball Lee Jones
2012-04-17 14:42   ` Arnd Bergmann
2012-04-17 15:28     ` Lee Jones
2012-04-17 15:44   ` [PATCH 11/16 v2] " Lee Jones
2012-04-17 16:02     ` Arnd Bergmann
2012-04-17 10:44 ` [PATCH 12/16] mfd/db8500-prcmu: Register as a platform driver instead of only probing Lee Jones
2012-04-18 16:19   ` Linus Walleij
2012-04-17 10:44 ` [PATCH 13/16] mfd/db8500-prcmu: Add Device Tree support Lee Jones
2012-04-18 16:35   ` Linus Walleij
2012-04-17 10:44 ` [PATCH 14/16] ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement Lee Jones
2012-04-17 10:44 ` [PATCH 15/16] ARM: ux500: Apply Device Tree settings for the DB8500 PRCMU Lee Jones
2012-04-17 14:47   ` Arnd Bergmann
2012-04-17 15:30     ` Lee Jones
2012-04-17 15:38       ` Arnd Bergmann
2012-04-17 15:46         ` Lee Jones
2012-04-17 15:56   ` [PATCH 13&15/16 v2] " Lee Jones
2012-04-18 16:21     ` Linus Walleij
2012-04-17 10:44 ` [PATCH 16/16] ARM: ux500: Enable PRCMU Timer 4 (clocksource) via Device Tree Lee Jones
2012-04-17 14:49 ` [PATCH 0/16] Another round of Device Tree enablement for Snowball Arnd Bergmann

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=20120517214943.A350F3E0621@localhost \
    --to=grant.likely@secretlab.ca \
    --cc=linux-arm-kernel@lists.infradead.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.