extern void mxs_restart(char, const char *);
  extern int mxs_saif_clkmux_select(unsigned int clkmux);
  
 -extern void mx23_soc_init(void);
  extern int mx23_clocks_init(void);
  extern void mx23_map_io(void);
 -extern void mx23_init_irq(void);
  
 -extern void mx28_soc_init(void);
  extern int mx28_clocks_init(void);
  extern void mx28_map_io(void);
 -extern void mx28_init_irq(void);
  
  extern void icoll_init_irq(void);
+ extern void icoll_handle_irq(struct pt_regs *);
  
 -extern struct platform_device *mxs_add_dma(const char *devid,
 -                                              resource_size_t base);
 -extern struct platform_device *mxs_add_gpio(char *name, int id,
 -                                          resource_size_t iobase, int irq);
 -
  #endif /* __MACH_MXS_COMMON_H__ */
 
  
  #include <linux/clk.h>
  #include <linux/clkdev.h>
 +#include <linux/can/platform/flexcan.h>
 +#include <linux/delay.h>
  #include <linux/err.h>
 -#include <linux/init.h>
 +#include <linux/gpio.h>
  #include <linux/init.h>
- #include <linux/irqdomain.h>
  #include <linux/micrel_phy.h>
  #include <linux/mxsfb.h>
- #include <linux/of_irq.h>
  #include <linux/of_platform.h>
  #include <linux/phy.h>
 +#include <linux/pinctrl/consumer.h>
  #include <asm/mach/arch.h>
  #include <asm/mach/time.h>
  #include <mach/common.h>