Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
[cascardo/linux.git] / arch / arm / mach-pxa / pxa27x.c
index 2eaa341..c0185c5 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/irqchip.h>
 #include <linux/suspend.h>
 #include <linux/platform_device.h>
 #include <linux/syscore_ops.h>
@@ -233,11 +234,15 @@ void __init pxa27x_init_irq(void)
        pxa_init_irq(34, pxa27x_set_wake);
 }
 
-void __init pxa27x_dt_init_irq(void)
+static int __init
+pxa27x_dt_init_irq(struct device_node *node, struct device_node *parent)
 {
-       if (IS_ENABLED(CONFIG_OF))
-               pxa_dt_irq_init(pxa27x_set_wake);
+       pxa_dt_irq_init(pxa27x_set_wake);
+       set_handle_irq(ichp_handle_irq);
+
+       return 0;
 }
+IRQCHIP_DECLARE(pxa27x_intc, "marvell,pxa-intc", pxa27x_dt_init_irq);
 
 static struct map_desc pxa27x_io_desc[] __initdata = {
        {       /* Mem Ctl */
@@ -300,9 +305,6 @@ static int __init pxa27x_init(void)
 
                reset_status = RCSR;
 
-               if ((ret = pxa_init_dma(IRQ_DMA, 32)))
-                       return ret;
-
                pxa27x_init_pm();
 
                register_syscore_ops(&pxa_irq_syscore_ops);