void                    (*init_time)(void);
        void                    (*init_machine)(void);
        void                    (*init_late)(void);
-       void                    (*handle_irq)(struct pt_regs *);
        void                    (*restart)(enum reboot_mode, const char *);
 };
 
 
 
        reserve_crashkernel();
 
-#ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
-       handle_arch_irq = mdesc->handle_irq;
-#endif
-
 #ifdef CONFIG_VT
 #if defined(CONFIG_VGA_CONSOLE)
        conswitchp = &vga_con;
 
 #include <linux/err.h>
 #include <linux/gpio.h>
 #include <linux/init.h>
-#include <linux/irqchip/mxs.h>
 #include <linux/reboot.h>
 #include <linux/micrel_phy.h>
 #include <linux/of_address.h>
 };
 
 DT_MACHINE_START(MXS, "Freescale MXS (Device Tree)")
-       .handle_irq     = icoll_handle_irq,
        .init_machine   = mxs_machine_init,
        .init_late      = mxs_pm_init,
        .dt_compat      = mxs_dt_compat,
 
        .map_io         = ams_delta_map_io,
        .init_early     = omap1_init_early,
        .init_irq       = omap1_init_irq,
-       .handle_irq     = omap1_handle_irq,
        .init_machine   = ams_delta_init,
        .init_late      = ams_delta_init_late,
        .init_time      = omap1_timer_init,
 
        .map_io         = omap1_map_io,
        .init_early     = omap1_init_early,
        .init_irq       = omap1_init_irq,
-       .handle_irq     = omap1_handle_irq,
        .init_machine   = omap_nokia770_init,
        .init_late      = omap1_init_late,
        .init_time      = omap1_timer_init,
 
        .map_io         = omap1_map_io,
        .init_early     = omap1_init_early,
        .init_irq       = omap1_init_irq,
-       .handle_irq     = omap1_handle_irq,
        .init_machine   = osk_init,
        .init_late      = omap1_init_late,
        .init_time      = omap1_timer_init,
 
        .map_io         = omap1_map_io,
        .init_early     = omap1_init_early,
        .init_irq       = omap1_init_irq,
-       .handle_irq     = omap1_handle_irq,
        .init_machine   = omap_palmte_init,
        .init_late      = omap1_init_late,
        .init_time      = omap1_timer_init,
 
        .map_io         = omap1_map_io,
        .init_early     = omap1_init_early,
        .init_irq       = omap1_init_irq,
-       .handle_irq     = omap1_handle_irq,
        .init_machine   = omap_sx1_init,
        .init_late      = omap1_init_late,
        .init_time      = omap1_timer_init,
 
  */
 #include <linux/gpio.h>
 #include <linux/init.h>
+#include <linux/irq.h>
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/interrupt.h>
                ct = irq_data_get_chip_type(d);
                ct->chip.irq_unmask(d);
        }
+
+       set_handle_irq(omap1_handle_irq);
 }
 
        .map_io         = pxa25x_map_io,
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
-       .handle_irq     = pxa25x_handle_irq,
        .init_time      = pxa_timer_init,
        .init_machine   = gumstix_init,
        .restart        = pxa_restart,
 
 void __init pxa25x_init_irq(void)
 {
        pxa_init_irq(32, pxa25x_set_wake);
+       set_handle_irq(pxa25x_handle_irq);
 }
 
 static int __init __init
 
 void __init pxa27x_init_irq(void)
 {
        pxa_init_irq(34, pxa27x_set_wake);
+       set_handle_irq(pxa27x_handle_irq);
 }
 
 static int __init
 
        .map_io         = pxa27x_map_io,
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
-       .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
        .init_time      = pxa_timer_init,
        .restart        = spitz_restart,
        .map_io         = pxa27x_map_io,
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
-       .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
        .init_time      = pxa_timer_init,
        .restart        = spitz_restart,
        .map_io         = pxa27x_map_io,
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
-       .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
        .init_time      = pxa_timer_init,
        .restart        = spitz_restart,
 
        stmp_reset_block(icoll_priv.ctrl);
 
        icoll_add_domain(np, ICOLL_NUM_IRQS);
+       set_handle_irq(icoll_handle_irq);
 
        return 0;
 }
 
+++ /dev/null
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Copyright (C) 2013 Freescale Semiconductor, Inc.
- */
-
-#ifndef __LINUX_IRQCHIP_MXS_H
-#define __LINUX_IRQCHIP_MXS_H
-
-extern void icoll_handle_irq(struct pt_regs *);
-
-#endif