]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-prima2/common.c
ARM: sirf: move irq driver to drivers/irqchip
[~andy/linux] / arch / arm / mach-prima2 / common.c
index 2d57aa479a7bea697176537028f9fbb7f10101f7..15c14dfb47a0e213624fc44de702266ff0f77dad 100644 (file)
@@ -37,6 +37,24 @@ static __init void sirfsoc_map_io(void)
        sirfsoc_map_scu();
 }
 
+#ifdef CONFIG_ARCH_ATLAS6
+static const char *atlas6_dt_match[] __initdata = {
+       "sirf,atlas6",
+       NULL
+};
+
+DT_MACHINE_START(ATLAS6_DT, "Generic ATLAS6 (Flattened Device Tree)")
+       /* Maintainer: Barry Song <baohua.song@csr.com> */
+       .map_io         = sirfsoc_map_io,
+       .init_irq       = irqchip_init,
+       .init_time      = sirfsoc_prima2_timer_init,
+       .init_machine   = sirfsoc_mach_init,
+       .init_late      = sirfsoc_init_late,
+       .dt_compat      = atlas6_dt_match,
+       .restart        = sirfsoc_restart,
+MACHINE_END
+#endif
+
 #ifdef CONFIG_ARCH_PRIMA2
 static const char *prima2_dt_match[] __initdata = {
        "sirf,prima2",
@@ -46,11 +64,8 @@ static const char *prima2_dt_match[] __initdata = {
 DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)")
        /* Maintainer: Barry Song <baohua.song@csr.com> */
        .map_io         = sirfsoc_map_io,
-       .init_irq       = sirfsoc_of_irq_init,
+       .init_irq       = irqchip_init,
        .init_time      = sirfsoc_prima2_timer_init,
-#ifdef CONFIG_MULTI_IRQ_HANDLER
-       .handle_irq     = sirfsoc_handle_irq,
-#endif
        .dma_zone_size  = SZ_256M,
        .init_machine   = sirfsoc_mach_init,
        .init_late      = sirfsoc_init_late,