From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/16] drivers/gpio: gpio-nomadik: Add support for irqdomains
Date: Thu, 19 Apr 2012 22:01:47 -0500 [thread overview]
Message-ID: <4F90D19B.9020408@gmail.com> (raw)
In-Reply-To: <201204191623.07445.arnd@arndb.de>
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?
Rob
> Arnd
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2012-04-20 3:01 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 [this message]
2012-05-17 21:49 ` Grant Likely
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=4F90D19B.9020408@gmail.com \
--to=robherring2@gmail.com \
--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.