]> git.baikalelectronics.ru Git - kernel.git/commit
ARC: Allow embedded arc-intc to be properly placed in DT intc hierarchy
authorVineet Gupta <vgupta@synopsys.com>
Thu, 11 Apr 2013 09:17:36 +0000 (14:47 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Tue, 7 May 2013 08:13:57 +0000 (13:43 +0530)
commitc2f664415d2b03a3acce692c104bb4ab741211f7
treecd01e88038b65cf1872b0b86fb28b58a72f6c2db
parent8e8e3b5a44f12bf94e0b415652e233cda444e6bc
ARC: Allow embedded arc-intc to be properly placed in DT intc hierarchy

arc-intc is initialized in arc common code as it is applicable to all
platforms. However platforms with their own external intc still need to
refer to it for correct DT interrupt tree hierarchy setup,

e.g.
static struct of_device_id __initdata tb10x_irq_ids[] = {
{ .compatible = "snps,arc700-intc", .data = dummy_init_irq },
{ .compatible = "abilis,tb10x_ictl", .data = tb10x_init_irq },
{},
};

The fix is to use the generic irqchip framework to tie all irqchips in
a special linker section and then call irqchip_init() which calls the
DT of_irq_init() for all the intc in one go.

That way the platform code need not be aware of arc-intc at all.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/kernel/irq.c