|
@@ -26,6 +26,7 @@
|
|
|
#include <linux/ioport.h>
|
|
|
#include <linux/interrupt.h>
|
|
|
#include <linux/irq.h>
|
|
|
+#include <linux/irqchip.h>
|
|
|
#include <linux/random.h>
|
|
|
#include <linux/smp.h>
|
|
|
#include <linux/init.h>
|
|
@@ -114,7 +115,10 @@ EXPORT_SYMBOL_GPL(set_irq_flags);
|
|
|
|
|
|
void __init init_IRQ(void)
|
|
|
{
|
|
|
- machine_desc->init_irq();
|
|
|
+ if (IS_ENABLED(CONFIG_OF) && !machine_desc->init_irq)
|
|
|
+ irqchip_init();
|
|
|
+ else
|
|
|
+ machine_desc->init_irq();
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_MULTI_IRQ_HANDLER
|