On Thu, Nov 10, 2011 at 03:20:51PM +0000, Marc Zyngier wrote: > On 10/11/11 14:46, Jamie Iles wrote: > > On Fri, Nov 04, 2011 at 01:09:59AM +0000, Jamie Iles wrote: > >> This adds a device tree binding for the VIC based on the of_irq_init() > >> support. This adds an irqdomain to the vic and always registers all > >> vics in the static vic array rather than for pm only to keep track of > >> the irq domain. struct irq_data::hwirq is used where appropriate rather > >> than runtime masking. > >> > >> v2: - use irq_domain_simple_ops > >> - remove stub implementation of vic_of_init for !CONFIG_OF > >> - Make VIC select IRQ_DOMAIN > >> > >> Reviewed-by: Rob Herring <[email protected]> > >> Reviewed-by: Grant Likely <[email protected]> > >> Signed-off-by: Jamie Iles <[email protected]> > >> --- > >> Documentation/devicetree/bindings/arm/vic.txt | 29 +++++++ > >> arch/arm/common/Kconfig | 1 + > >> arch/arm/common/vic.c | 106 > >> ++++++++++++++++++------- > >> arch/arm/include/asm/hardware/vic.h | 7 ++- > >> 4 files changed, 114 insertions(+), 29 deletions(-) > >> create mode 100644 Documentation/devicetree/bindings/arm/vic.txt > >> > >> diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c > >> index 01f18a4..e689975 100644 > >> --- a/arch/arm/common/vic.c > >> +++ b/arch/arm/common/vic.c > >> @@ -22,6 +22,10 @@ > > [...] > >> +#ifdef CONFIG_OF > >> +int __init vic_of_init(struct device_node *node, struct device_node > >> *parent) > >> +{ > >> + void __iomem *regs; > >> + int irq_base; > >> + > >> + if (WARN(parent, "non-root VICs are not supported")) > >> + return -EINVAL; > >> + > >> + regs = of_iomap(node, 0); > >> + if (WARN_ON(!regs)) > >> + return -EIO; > >> + > >> + irq_base = irq_alloc_descs(-1, 0, 32, numa_node_id()); > >> + if (WARN_ON(irq_base < 0)) > >> + goto out_unmap; > > > > Hmm, this appears to need linux/export.h for THIS_MODULE now. > > linux/irq.h has a comment saying it uses a macro to avoid needing an > > include of export.h there so I guess it needs to go in here instead. > > Yes, I had to hack it when I tested this series on PB1176 (and of course > forgot to send the patch around...). > > It seems a bit backward to impose including linux/export.h while this > file doesn't use any of it directly.
Yeah, but seeing as include/linux/irq.h had a comment saying that they'd explicitly decided to avoid including export.h there I decided it would be simplest to punt it into vic.c and that someone knew better than me! I'll include it in vic.c when I ask you to pull (probably tomorrow). Thanks, Jamie _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
