Re: [PATCH 2/4] ARM: OMAP2/3: intc: Add DT support for TI interrupt controller
From: Cousson, Benoit <hidden>
Date: 2011-12-08 14:59:50
Also in:
linux-arm-kernel, linux-omap
On 12/7/2011 10:20 PM, Rob Herring wrote:
On 12/07/2011 02:50 PM, Benoit Cousson wrote:
[...]
quoted
+#ifdef CONFIG_OF +int __init intc_of_init(struct device_node *node, struct device_node *parent) +{ + struct resource res; + u32 nr_irqs; + + if (WARN_ON(!node)) + return -ENODEV; + + if (of_address_to_resource(node, 0,&res)) { + WARN(1, "unable to get intc registers\n"); + return -EINVAL; + } + + if (of_property_read_u32(node, "ti,intc-size",&nr_irqs)) { + WARN(1, "unable to get intc-size\n"); + return -EINVAL;There is no default value that makes sense?
So far we have 96 or 128, so I can put 96 as a default and just keep the warning without returning an error.
quoted
+ } + + omap_init_irq(res.start, nr_irqs); + irq_domain_add_simple(node, 0);Have you read the NO_IRQ thread...
Yeah, I tried, but that's a long email thread with some unclear conclusion... The point is that the few users of that API today are using 0 as a base as well, so I thought it was still valid.
Is 0 ever a valid interrupt for a driver? If so, you must not use 0 for the base. I would pick 16 to skip over legacy ISA irqs.
I do not have any 0 interrupts right now, my concern is that I still have some legacy non-DT drivers that expect the previous hwirq = irq mapping.
irqdomains should always be enabled regardless of CONFIG_OF. So either you can leave it as is if OF is always enabled for OMAP, or you should move domain setup into omap_init_irq.
OK, but it looks like I cannot really modify the current INTC to DT without having fully adapted the OMAP drivers to use irq_of_parse_and_map. Or did I miss something? Regards, Benoit