From: Rob Herring <robherring2@gmail.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Grant Likely <grant.likely@secretlab.ca>,
Stephen Rothwell <sfr@canb.auug.org.au>,
devicetree-discuss@lists.ozlabs.org,
linux-kernel@vger.kernel.org,
Rob Herring <rob.herring@calxeda.com>,
Milton Miller <miltonm@bga.com>,
Thomas Gleixner <tglx@linutronix.de>,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 00/25] irq_domain generalization and refinement
Date: Sun, 05 Feb 2012 18:51:48 -0600 [thread overview]
Message-ID: <4F2F2424.3060702@gmail.com> (raw)
In-Reply-To: <20120204221748.GN14129@n2100.arm.linux.org.uk>
Russell,
On 02/04/2012 04:17 PM, Russell King - ARM Linux wrote:
> On Fri, Jan 27, 2012 at 02:35:54PM -0700, Grant Likely wrote:
>> Hey everyone,
>>
>> This patch series is ready for much wider consumption now. I'd like
>> to get it into linux-next ASAP because there will be ARM board support
>> depending on it. I'll wait a few days before I ask Stephen to pull
>> this in.
>
> Grant,
>
> Can you answer me this: does this irqdomain support require DT?
>
No. It's the other way around, DT requires irqdomain. The GIC and VIC
code for example can be built with or w/o DT enabled, but both select
IRQ_DOMAIN.
FYI, I just submitted a patch that selects IRQ_DOMAIN for all of ARM:
http://www.gossamer-threads.com/lists/linux/kernel/1487231?page=last
Either we do that or we select IRQ_DOMAIN one irq_chip at a time. With
the "new" irq_domain code, we could probably do better to shrink the
code needed in the non-DT case.
> The question comes up because OMAP has converted some of their support
> to require irq domain support for their PMICs, and it seems irq domain
> support requires DT. This seems to have made the whole of OMAP
> essentially become a DT-only platform.
I think we should select DT or not at the sub-arch level. Trying to
support both builds is a needless headache.
>
> Removing the dependency on IRQ_DOMAIN brings up these build errors
> in the twl-core code (that being the PMIC for OMAP CPUs):
>
> drivers/mfd/twl-core.c: In function 'twl_probe':
> drivers/mfd/twl-core.c:1229: error: invalid use of undefined type 'struct irq_domain'
> drivers/mfd/twl-core.c:1230: error: invalid use of undefined type 'struct irq_domain'
> drivers/mfd/twl-core.c:1235: error: implicit declaration of function 'irq_domain_add'
>
> That's a bit of a problem, because afaik there aren't the DT descriptions
> for the boards I have yet, so it's causing me to see regressions when
> building and booting kernels with CONFIG_OF=n.
>
> The more core-code we end up with which requires DT, the worse this
> problem is going to become - and obviously saying "everyone must now
> convert to DT" is, even today, a mammoth task.
>
> Now, here's the thing: I believe that IRQ domains - at least as far as
> the hwirq stuff - should be available irrespective of whether we have
> the rest of the IRQ domain support code in place, so that IRQ support
> code doesn't have to keep playing games to decode from the global
> space to the per-controller number space.
>
> I believe that would certainly help the current OMAP problems, where
> the current lack of CONFIG_IRQ_DOMAIN basically makes the kernel oops
> on boot.
>
> How we fix this regression for 3.4 I've no idea at present, I'm trying
> to work out what the real dependencies are for OMAP on this stuff.
>
> Finally, do we need asm/irq.h in our asm/prom.h ? That's causing
> fragility between DT and non-DT builds, because people are finding
> that their DT builds work without their mach/irqs.h includes but
> fail when built with non-DT. The only thing which DT might need -
> at the most - is NR_IRQS, but I'd hope with things like irq domains
> it doesn't actually require it.
Doesn't look like it is needed.
Rob
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
next prev parent reply other threads:[~2012-02-06 0:51 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-27 21:35 [PATCH v3 00/25] irq_domain generalization and refinement Grant Likely
2012-01-27 21:35 ` [PATCH v3 01/25] irq_domain: add documentation and MAINTAINERS entry Grant Likely
2012-01-28 18:23 ` Randy Dunlap
2012-01-27 21:35 ` [PATCH v3 02/25] dt: Make irqdomain less verbose Grant Likely
2012-01-27 21:35 ` [PATCH v3 03/25] irq_domain: Make irq_domain structure match powerpc's irq_host Grant Likely
2012-01-27 21:35 ` [PATCH v3 04/25] irq_domain: convert microblaze from irq_host to irq_domain Grant Likely
2012-01-27 21:35 ` [PATCH v3 05/25] irq_domain/powerpc: Use common irq_domain structure instead of irq_host Grant Likely
2012-01-27 21:36 ` [PATCH v3 06/25] irq_domain/powerpc: eliminate irq_map; use irq_alloc_desc() instead Grant Likely
2012-01-27 21:36 ` [PATCH v3 07/25] irq_domain/powerpc: Eliminate virq_is_host() Grant Likely
2012-01-27 21:36 ` [PATCH v3 08/25] irq_domain: Move irq_domain code from powerpc to kernel/irq Grant Likely
2012-01-27 21:36 ` [PATCH v3 09/25] irqdomain: remove NO_IRQ from irq domain code Grant Likely
2012-01-27 21:36 ` [PATCH v3 10/25] irq_domain: Remove references to old irq_host names Grant Likely
2012-01-27 21:36 ` [PATCH v3 11/25] irq_domain: Replace irq_alloc_host() with revmap-specific initializers Grant Likely
2012-01-27 21:36 ` [PATCH v3 12/25] irq_domain: Add support for base irq and hwirq in legacy mappings Grant Likely
2012-01-27 21:36 ` [PATCH v3 13/25] irq_domain: Remove 'new' irq_domain in favour of the ppc one Grant Likely
2012-02-03 14:48 ` Cousson, Benoit
2012-02-03 16:42 ` Grant Likely
2012-01-27 21:36 ` [PATCH v3 14/25] irq_domain: Remove irq_domain_add_simple() Grant Likely
2012-01-31 12:45 ` Shawn Guo
2012-01-31 13:15 ` Rob Herring
2012-01-31 13:58 ` Shawn Guo
2012-02-01 0:08 ` Grant Likely
2012-02-01 5:46 ` [PATCH] irq_domain: fix the irq number of imx5 tzic Shawn Guo
2012-02-02 4:58 ` Grant Likely
2012-01-27 21:36 ` [PATCH v3 15/25] irq_domain: Create common xlate functions that device drivers can use Grant Likely
2012-01-27 21:36 ` [PATCH v3 16/25] irq_domain: constify irq_domain_ops Grant Likely
2012-01-27 21:36 ` [PATCH v3 17/25] irq_domain/c6x: Convert c6x to use generic irq_domain support Grant Likely
2012-01-27 21:36 ` [PATCH v3 18/25] irq_domain/c6x: constify irq_domain structures Grant Likely
2012-01-27 21:36 ` [PATCH v3 19/25] irq_domain/c6x: Use library of xlate functions Grant Likely
2012-01-27 21:36 ` [PATCH v3 20/25] irq_domain/powerpc: constify irq_domain_ops Grant Likely
2012-01-27 21:36 ` [PATCH v3 21/25] irqdomain/powerpc: Replace custom xlate functions with library functions Grant Likely
2012-02-06 5:22 ` Michael Neuling
2012-02-06 6:00 ` Grant Likely
2012-01-27 21:36 ` [PATCH v3 22/25] irq_domain/x86: Convert x86 (embedded) to use common irq_domain Grant Likely
2012-01-28 16:44 ` Sebastian Andrzej Siewior
2012-01-29 0:35 ` Grant Likely
2012-01-29 0:39 ` Grant Likely
2012-01-30 19:58 ` Grant Likely
2012-02-01 14:17 ` Sebastian Andrzej Siewior
2012-02-01 18:06 ` Grant Likely
2012-02-23 19:56 ` Grant Likely
2012-02-23 21:22 ` Sebastian Andrzej Siewior
2012-02-23 21:39 ` Grant Likely
2012-01-27 21:36 ` [PATCH v3 23/25] irq_domain: Include hwirq number in /proc/interrupts Grant Likely
2012-01-27 21:36 ` [PATCH v3 24/25] irq_domain: remove "hint" when allocating irq numbers Grant Likely
2012-02-07 18:07 ` Nicolas Ferre
2012-02-15 15:04 ` Nicolas Ferre
2012-02-15 20:21 ` Grant Likely
2012-02-15 21:50 ` Shawn Guo
2012-02-16 5:32 ` Grant Likely
2012-02-16 6:03 ` Shawn Guo
2012-01-27 21:36 ` [PATCH v3 25/25] irq_domain: mostly eliminate slow-path revmap lookups Grant Likely
2012-02-15 16:36 ` Nicolas Ferre
2012-02-15 20:29 ` Grant Likely
2012-01-28 18:38 ` [PATCH v3 00/25] irq_domain generalization and refinement Rob Herring
2012-01-31 4:53 ` Olof Johansson
2012-02-01 0:07 ` Grant Likely
2012-02-04 22:17 ` Russell King - ARM Linux
2012-02-04 22:31 ` Russell King - ARM Linux
2012-02-05 1:38 ` Tony Lindgren
2012-02-05 16:13 ` Russell King - ARM Linux
2012-02-07 15:26 ` Mark Brown
2012-02-15 20:33 ` Grant Likely
2012-02-05 0:01 ` Benjamin Herrenschmidt
2012-02-06 0:51 ` Rob Herring [this message]
2012-02-06 5:56 ` Grant Likely
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=4F2F2424.3060702@gmail.com \
--to=robherring2@gmail.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=miltonm@bga.com \
--cc=rob.herring@calxeda.com \
--cc=sfr@canb.auug.org.au \
--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: 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).