Merge remote-tracking branches 'arm-soc/irqchip/gic-vic-move' and 'arm-soc/timer...
authorSimon Horman <horms+renesas@verge.net.au>
Thu, 24 Jan 2013 08:57:20 +0000 (17:57 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Thu, 24 Jan 2013 08:57:20 +0000 (17:57 +0900)
Conflicts:
arch/arm/mach-bcm/board_bcm.c
arch/arm/mach-cns3xxx/cns3420vb.c
arch/arm/mach-ep93xx/adssphere.c
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/gesbc9312.c
arch/arm/mach-ep93xx/micro9.c
arch/arm/mach-ep93xx/simone.c
arch/arm/mach-ep93xx/snappercl15.c
arch/arm/mach-ep93xx/ts72xx.c
arch/arm/mach-ep93xx/vision_ep9307.c
arch/arm/mach-highbank/highbank.c
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-msm/board-dt-8960.c
arch/arm/mach-netx/nxdb500.c
arch/arm/mach-netx/nxdkn.c
arch/arm/mach-netx/nxeb500hmi.c
arch/arm/mach-nomadik/board-nhk8815.c
arch/arm/mach-picoxcell/common.c
arch/arm/mach-realview/realview_eb.c
arch/arm/mach-realview/realview_pb1176.c
arch/arm/mach-realview/realview_pb11mp.c
arch/arm/mach-realview/realview_pba8.c
arch/arm/mach-realview/realview_pbx.c
arch/arm/mach-socfpga/socfpga.c
arch/arm/mach-spear13xx/spear1310.c
arch/arm/mach-spear13xx/spear1340.c
arch/arm/mach-spear13xx/spear13xx.c
arch/arm/mach-spear3xx/spear300.c
arch/arm/mach-spear3xx/spear310.c
arch/arm/mach-spear3xx/spear320.c
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/mach-spear6xx/spear6xx.c
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-u300/core.c
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mach-versatile/versatile_ab.c
arch/arm/mach-versatile/versatile_dt.c
arch/arm/mach-versatile/versatile_pb.c
arch/arm/mach-vexpress/v2m.c
include/asm-generic/vmlinux.lds.h

92 files changed:
1  2 
arch/arm/mach-bcm/board_bcm.c
arch/arm/mach-cns3xxx/cns3420vb.c
arch/arm/mach-cns3xxx/core.c
arch/arm/mach-davinci/board-dm646x-evm.c
arch/arm/mach-ep93xx/adssphere.c
arch/arm/mach-ep93xx/core.c
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/gesbc9312.c
arch/arm/mach-ep93xx/micro9.c
arch/arm/mach-ep93xx/simone.c
arch/arm/mach-ep93xx/snappercl15.c
arch/arm/mach-ep93xx/ts72xx.c
arch/arm/mach-ep93xx/vision_ep9307.c
arch/arm/mach-exynos/mach-armlex4210.c
arch/arm/mach-exynos/mach-exynos4-dt.c
arch/arm/mach-exynos/mach-exynos5-dt.c
arch/arm/mach-exynos/mach-nuri.c
arch/arm/mach-exynos/mach-origen.c
arch/arm/mach-exynos/mach-smdk4x12.c
arch/arm/mach-exynos/mach-smdkv310.c
arch/arm/mach-exynos/mach-universal_c210.c
arch/arm/mach-exynos/mct.c
arch/arm/mach-highbank/highbank.c
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-kirkwood/board-dt.c
arch/arm/mach-ks8695/board-acs5k.c
arch/arm/mach-msm/board-dt-8660.c
arch/arm/mach-msm/board-dt-8960.c
arch/arm/mach-msm/timer.c
arch/arm/mach-netx/nxdb500.c
arch/arm/mach-netx/nxdkn.c
arch/arm/mach-netx/nxeb500hmi.c
arch/arm/mach-nomadik/board-nhk8815.c
arch/arm/mach-omap1/board-ams-delta.c
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-picoxcell/common.c
arch/arm/mach-realview/realview_eb.c
arch/arm/mach-realview/realview_pb1176.c
arch/arm/mach-realview/realview_pb11mp.c
arch/arm/mach-realview/realview_pba8.c
arch/arm/mach-realview/realview_pbx.c
arch/arm/mach-s3c64xx/mach-anw6410.c
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-hmt.c
arch/arm/mach-s3c64xx/mach-mini6410.c
arch/arm/mach-s3c64xx/mach-ncp.c
arch/arm/mach-s3c64xx/mach-real6410.c
arch/arm/mach-s3c64xx/mach-smartq5.c
arch/arm/mach-s3c64xx/mach-smartq7.c
arch/arm/mach-s3c64xx/mach-smdk6400.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s5p64x0/mach-smdk6440.c
arch/arm/mach-s5p64x0/mach-smdk6450.c
arch/arm/mach-s5pc100/mach-smdkc100.c
arch/arm/mach-s5pv210/mach-aquila.c
arch/arm/mach-s5pv210/mach-goni.c
arch/arm/mach-s5pv210/mach-smdkc110.c
arch/arm/mach-s5pv210/mach-smdkv210.c
arch/arm/mach-s5pv210/mach-torbreck.c
arch/arm/mach-shmobile/board-ag5evm.c
arch/arm/mach-shmobile/board-kota2.c
arch/arm/mach-shmobile/board-kzm9d.c
arch/arm/mach-shmobile/board-kzm9g.c
arch/arm/mach-shmobile/board-marzen.c
arch/arm/mach-shmobile/setup-emev2.c
arch/arm/mach-socfpga/socfpga.c
arch/arm/mach-spear13xx/include/mach/generic.h
arch/arm/mach-spear13xx/spear1310.c
arch/arm/mach-spear13xx/spear1340.c
arch/arm/mach-spear13xx/spear13xx.c
arch/arm/mach-spear3xx/include/mach/generic.h
arch/arm/mach-spear3xx/spear300.c
arch/arm/mach-spear3xx/spear310.c
arch/arm/mach-spear3xx/spear320.c
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/mach-spear6xx/spear6xx.c
arch/arm/mach-sunxi/sunxi.c
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-u300/core.c
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mach-versatile/core.c
arch/arm/mach-versatile/versatile_ab.c
arch/arm/mach-versatile/versatile_dt.c
arch/arm/mach-versatile/versatile_pb.c
arch/arm/mach-vexpress/v2m.c
arch/arm/mach-zynq/common.c
arch/arm/plat-samsung/include/plat/cpu.h
include/asm-generic/vmlinux.lds.h

index 5c920bde679111ff3fc7a0625c71617bf6383f9b,3df68030cf684360b81e9874b3a97a58b0df86f5..23ed015a8c15dd35920c6466f51a5cc1600bec50
@@@ -24,10 -31,11 +24,6 @@@ static void timer_init(void
  {
  }
  
- static struct sys_timer timer = {
-       .init = timer_init,
- };
 -static void __init init_irq(void)
 -{
 -      of_irq_init(irq_match);
 -}
--
  static void __init board_init(void)
  {
        of_platform_populate(NULL, of_default_bus_match_table, NULL,
@@@ -37,8 -45,9 +33,8 @@@
  static const char * const bcm11351_dt_compat[] = { "bcm,bcm11351", NULL, };
  
  DT_MACHINE_START(BCM11351_DT, "Broadcom Application Processor")
 -      .init_irq = init_irq,
 +      .init_irq = irqchip_init,
-       .timer = &timer,
+       .init_time = timer_init,
        .init_machine = board_init,
        .dt_compat = bcm11351_dt_compat,
 -      .handle_irq = gic_handle_irq,
  MACHINE_END
index 26f36d7efecdacc76395ffbd8a18ee34b9db6820,3c86f910b647846110e2f922f7df6c3d4497426f..a71867e1d8d6c58b591909facb33598bcfc57543
@@@ -249,7 -250,8 +249,7 @@@ MACHINE_START(CNS3420VB, "Cavium Networ
        .atag_offset    = 0x100,
        .map_io         = cns3420_map_io,
        .init_irq       = cns3xxx_init_irq,
-       .timer          = &cns3xxx_timer,
+       .init_time      = cns3xxx_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = cns3420_init,
        .restart        = cns3xxx_restart,
  MACHINE_END
Simple merge
index 19332bf022bc2b10ed9190cb171025ff44dddd9c,82d9c788535a160f31ebae61f04e9fbb4e3469df..bda6c3a5c923c4d27715a5862f77e0cb20939251
@@@ -38,7 -39,8 +38,7 @@@ MACHINE_START(ADSSPHERE, "ADS Sphere bo
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = adssphere_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
Simple merge
index 5abf2cbe5afd84ec6b5c24fd9c42732eb7b4158f,ac260519c9e93180ac3e5ff3940d19fc5a49e264..27b14ae92c7e6e5e804e8e62deba96156ae746cc
@@@ -275,7 -276,8 +275,7 @@@ MACHINE_START(EDB9301, "Cirrus Logic ED
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -288,7 -290,8 +288,7 @@@ MACHINE_START(EDB9302, "Cirrus Logic ED
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -301,7 -304,8 +301,7 @@@ MACHINE_START(EDB9302A, "Cirrus Logic E
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -314,7 -318,8 +314,7 @@@ MACHINE_START(EDB9307, "Cirrus Logic ED
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -327,7 -332,8 +327,7 @@@ MACHINE_START(EDB9307A, "Cirrus Logic E
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -340,7 -346,8 +340,7 @@@ MACHINE_START(EDB9312, "Cirrus Logic ED
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -353,7 -360,8 +353,7 @@@ MACHINE_START(EDB9315, "Cirrus Logic ED
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -366,7 -374,8 +366,7 @@@ MACHINE_START(EDB9315A, "Cirrus Logic E
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 2a7375be6fff869aeacb9224ecad3f13dabe378d,76c50f42bd717da0f1f34e46ff78343fb406abf4..0cca5b1833093524d1c7468003bbae19c4f0c514
@@@ -38,7 -39,8 +38,7 @@@ MACHINE_START(GESBC9312, "Glomation GES
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = gesbc9312_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 723c0d36a6095ef99f3e69d7584636dd89edf65e,777cd2170f8a3fb60e74500cfee998bd760a9885..373583c298255179d5b4f553d61dc9d38081e874
@@@ -81,7 -82,8 +81,7 @@@ MACHINE_START(MICRO9, "Contec Micro9-Hi
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = micro9_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -94,7 -96,8 +94,7 @@@ MACHINE_START(MICRO9M, "Contec Micro9-M
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = micro9_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -107,7 -110,8 +107,7 @@@ MACHINE_START(MICRO9L, "Contec Micro9-L
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = micro9_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@@ -120,7 -124,8 +120,7 @@@ MACHINE_START(MICRO9S, "Contec Micro9-S
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = micro9_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 651a7db051204b8972ef856ef4aeb4d46121e05e,6ff39ee2ad5da0cd876a06f3a47f1c7e94138174..36f22c1a31fe596a71c596aa21d4e589435f15ba
@@@ -82,7 -83,8 +82,7 @@@ MACHINE_START(SIM_ONE, "Simplemachines 
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = simone_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index b4389d3820cc24fd7e5d652002256416fde9d97a,6434c07dbf96728c7182a3163d2e358cb1dbd5c6..aa86f86638ddcc6eab8cda6cdb986b9d6233c7c7
@@@ -175,7 -176,8 +175,7 @@@ MACHINE_START(SNAPPER_CL15, "Bluewater 
        .atag_offset    = 0x100,
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = snappercl15_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 1eeee09f421fb6d078d81d727f19a174549f2744,e4fa0d3760a53b040bce2461afc96bbb7a1106ef..61f4b5dc4d7dd9ad8d6802606b47d2117be314cc
@@@ -245,7 -246,8 +245,7 @@@ MACHINE_START(TS72XX, "Technologic Syst
        .atag_offset    = 0x100,
        .map_io         = ts72xx_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = ts72xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 723d048176db3c95e8f9ffda1b709f49c045d966,8610ba29399133187e49f0a68292d74c27413bb5..605956fd07a2bdc7e133f07b7e8000b333fd566b
@@@ -363,7 -364,8 +363,7 @@@ MACHINE_START(VISION_EP9307, "Vision En
        .atag_offset    = 0x100,
        .map_io         = vision_map_io,
        .init_irq       = ep93xx_init_irq,
-       .timer          = &ep93xx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = vision_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index a11a36fc7bf52461e37f02484f75fc370b51eaf3,2f18130d0d1044281cfcbad985607c937c86420d..685f29173afa8295313ab2e6320a2d029fb90ff2
@@@ -200,8 -201,9 +200,8 @@@ MACHINE_START(ARMLEX4210, "ARMLEX4210"
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = armlex4210_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = armlex4210_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .restart        = exynos4_restart,
  MACHINE_END
index 34c45b6c8b2c2031ba9ebc94205b4874c1bad35b,160030168b1995f88a5661c09f4d9452f5792a45..112d10e53d203c6a4a32ae1644f67220a1680d7a
@@@ -106,9 -107,10 +106,9 @@@ DT_MACHINE_START(EXYNOS4210_DT, "Samsun
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = exynos4_dt_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = exynos4_dt_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .dt_compat      = exynos4_dt_compat,
        .restart        = exynos4_restart,
  MACHINE_END
index 3a3bee463c46b860adf52268c17882380bb55477,4e074c67cc8beaa510ee4f24f1b8edfd91995fa3..0deeecffa3aef2c5992c3998078f7b2ffc09ecf8
@@@ -178,9 -179,10 +178,9 @@@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG E
        .init_irq       = exynos5_init_irq,
        .smp            = smp_ops(exynos_smp_ops),
        .map_io         = exynos5_dt_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = exynos5_dt_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .dt_compat      = exynos5_dt_compat,
        .restart        = exynos5_restart,
        .reserve        = exynos5_reserve,
index 55f8183e1d6fe334b7d531a7f0c067a10a69ecba,dccd1d16b836b33e5a7d79c2afa2f2cafce8e1a2..b8b3fbf0bae73508ce00d989130f48824dc6077c
@@@ -1378,9 -1379,10 +1378,9 @@@ MACHINE_START(NURI, "NURI"
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = nuri_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = nuri_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .reserve        = &nuri_reserve,
        .restart        = exynos4_restart,
  MACHINE_END
index 45cda369923eec5da8d86e0e82722727a2df2b5a,4e1156324562712761a0ebab4ea81f4eaee99b6c..579d2d171daa6e4ea21f56611dda80f536d41133
@@@ -813,9 -814,10 +813,9 @@@ MACHINE_START(ORIGEN, "ORIGEN"
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = origen_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = origen_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .reserve        = &origen_reserve,
        .restart        = exynos4_restart,
  MACHINE_END
index d5dbd51b26e3e737fde8110475eac2cc2be08def,e9c9c2995f09c7989b75521ab3386160ad331b5a..fe6149624b849aa2dd624115711e1eb1e9fcbee6
@@@ -375,8 -376,9 +375,8 @@@ MACHINE_START(SMDK4212, "SMDK4212"
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = smdk4x12_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = smdk4x12_machine_init,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .restart        = exynos4_restart,
        .reserve        = &smdk4x12_reserve,
  MACHINE_END
@@@ -388,9 -390,10 +388,9 @@@ MACHINE_START(SMDK4412, "SMDK4412"
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = smdk4x12_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = smdk4x12_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .restart        = exynos4_restart,
        .reserve        = &smdk4x12_reserve,
  MACHINE_END
index b095964f29892bbe289ccb6a8da1a17a997702c3,b228ab9bda0bf34a8226fb9c61ffc3e4da73e643..d71672922b191c7270a1dfa3fcdb28718e1bbf66
@@@ -422,8 -423,9 +422,8 @@@ MACHINE_START(SMDKV310, "SMDKV310"
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = smdkv310_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = smdkv310_machine_init,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .reserve        = &smdkv310_reserve,
        .restart        = exynos4_restart,
  MACHINE_END
@@@ -434,9 -436,10 +434,9 @@@ MACHINE_START(SMDKC210, "SMDKC210"
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = smdkv310_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = smdkv310_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .reserve        = &smdkv310_reserve,
        .restart        = exynos4_restart,
  MACHINE_END
index be3777587283e9c2b73a279b9c265bcb22d0c54a,866f29a9beee0c4e3fb9467a376dae3bfedef75c..c9d33a43103e81bc1623aea71b239cc7bb4e5da2
@@@ -1150,9 -1151,10 +1150,9 @@@ MACHINE_START(UNIVERSAL_C210, "UNIVERSA
        .smp            = smp_ops(exynos_smp_ops),
        .init_irq       = exynos4_init_irq,
        .map_io         = universal_map_io,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = universal_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .reserve        = &universal_reserve,
        .restart        = exynos4_restart,
  MACHINE_END
Simple merge
index f9191eacd0fc958170142b8dbc2741de052d1b87,f6ca285ee5c51296e943a48071b723e9e93c49ac..fd630bccbd315fec1582ae91ac95d46dfce05008
@@@ -123,13 -129,9 +123,9 @@@ static void __init highbank_timer_init(
        arch_timer_sched_clock_init();
  }
  
- static struct sys_timer highbank_timer = {
-       .init = highbank_timer_init,
- };
  static void highbank_power_off(void)
  {
 -      hignbank_set_pwr_shutdown();
 +      highbank_set_pwr_shutdown();
  
        while (1)
                cpu_do_idle();
@@@ -203,7 -205,8 +199,7 @@@ DT_MACHINE_START(HIGHBANK, "Highbank"
        .smp            = smp_ops(highbank_smp_ops),
        .map_io         = debug_ll_io_init,
        .init_irq       = highbank_init_irq,
-       .timer          = &highbank_timer,
+       .init_time      = highbank_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = highbank_init,
        .dt_compat      = highbank_match,
        .restart        = highbank_restart,
index 724bfeb8f88bc88662b901aaadba4d460a27c8b2,cd277a0f5b16d6c1fd36199c4e2095a3ef244c12..8d3d06e0e8a19a527e89ffedf75ba50ecd652477
@@@ -249,7 -250,8 +245,7 @@@ DT_MACHINE_START(IMX6Q, "Freescale i.MX
        .smp            = smp_ops(imx_smp_ops),
        .map_io         = imx6q_map_io,
        .init_irq       = imx6q_init_irq,
-       .timer          = &imx6q_timer,
 -      .handle_irq     = imx6q_handle_irq,
+       .init_time      = imx6q_timer_init,
        .init_machine   = imx6q_init_machine,
        .init_late      = imx6q_init_late,
        .dt_compat      = imx6q_dt_compat,
Simple merge
Simple merge
index c111cec64338952d0553fda429b094634d1a14e7,27c41eabfd12ec1177afd79ed5046d4bddae2d23..7dcfc5300bbd2e6a8345d73899f7b74d4568825e
@@@ -44,9 -55,10 +44,9 @@@ static const char *msm8x60_fluid_match[
  DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)")
        .smp = smp_ops(msm_smp_ops),
        .map_io = msm_map_msm8x60_io,
 -      .init_irq = msm8x60_init_irq,
 -      .handle_irq = gic_handle_irq,
 +      .init_irq = irqchip_init,
        .init_machine = msm8x60_dt_init,
        .init_late = msm8x60_init_late,
-       .timer = &msm_dt_timer,
+       .init_time      = msm_dt_timer_init,
        .dt_compat = msm8x60_fluid_match,
  MACHINE_END
index fad0e5083e4389bcb271083284c1e2c6a5638cd0,3226d5276962bbdf2b40831b05fe25dfb7ae61b5..73019363ffa4db099ea801a85fe7a9d8a4b0b3ff
@@@ -31,8 -42,9 +31,8 @@@ static const char * const msm8960_dt_ma
  DT_MACHINE_START(MSM8960_DT, "Qualcomm MSM (Flattened Device Tree)")
        .smp = smp_ops(msm_smp_ops),
        .map_io = msm_map_msm8960_io,
 -      .init_irq = msm_dt_init_irq,
 +      .init_irq = irqchip_init,
-       .timer = &msm_dt_timer,
+       .init_time      = msm_dt_timer_init,
        .init_machine = msm_dt_init,
        .dt_compat = msm8960_dt_match,
 -      .handle_irq = gic_handle_irq,
  MACHINE_END
Simple merge
index 04d5e5eb6473ac294e53402cca2c8ed357b0623f,241e1b9c58cb5be730a3d432b7f288da9f9ac22e..9b558eb3070fd6d554a88c7f8d3bd580a8df3f27
@@@ -203,7 -204,8 +203,7 @@@ MACHINE_START(NXDB500, "Hilscher nxdb50
        .atag_offset    = 0x100,
        .map_io         = netx_map_io,
        .init_irq       = netx_init_irq,
-       .timer          = &netx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = netx_timer_init,
        .init_machine   = nxdb500_init,
        .restart        = netx_restart,
  MACHINE_END
index cf15bdd50f6fe37a66f07dde276c646ee924a2df,055aeecedde2e93a058883083f129e403526a75e..a5e86cd365e7d202b832294c1f646c811402b423
@@@ -96,7 -97,8 +96,7 @@@ MACHINE_START(NXDKN, "Hilscher nxdkn"
        .atag_offset    = 0x100,
        .map_io         = netx_map_io,
        .init_irq       = netx_init_irq,
-       .timer          = &netx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = netx_timer_init,
        .init_machine   = nxdkn_init,
        .restart        = netx_restart,
  MACHINE_END
index 069bd26e1b72731a4f29969ae13fda256133ee20,018e91c55b00527c321abe253fa58a585aacbf52..ad17885d0159e69909dbbd74b8f248cc6056bda5
@@@ -180,7 -181,8 +180,7 @@@ MACHINE_START(NXEB500HMI, "Hilscher nxe
        .atag_offset    = 0x100,
        .map_io         = netx_map_io,
        .init_irq       = netx_init_irq,
-       .timer          = &netx_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = netx_timer_init,
        .init_machine   = nxeb500hmi_init,
        .restart        = netx_restart,
  MACHINE_END
index 5748df0d725a6aad918b56c1a6bdba747cfed3ff,ab756ed87ef05b8f705dbd71da090b4400762a01..aaed48d9437449d1333e59e793ba3a59a9ce0d10
@@@ -351,7 -349,8 +347,7 @@@ MACHINE_START(NOMADIK, "NHK8815"
        .atag_offset    = 0x100,
        .map_io         = cpu8815_map_io,
        .init_irq       = cpu8815_init_irq,
-       .timer          = &nomadik_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = nomadik_timer_init,
        .init_machine   = nhk8815_platform_init,
        .restart        = cpu8815_restart,
  MACHINE_END
Simple merge
index cb43253dfa864f6e6346b229f94802a22829c3c7,f5d5f5941d7d37e7a363d3fdd5a93beec84a016b..f8eeef40efe8e1cdae47e5d748bb58d396d4381a
@@@ -722,8 -722,9 +722,8 @@@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4
        .map_io         = omap4_map_io,
        .init_early     = omap4430_init_early,
        .init_irq       = gic_init_irq,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = omap_4430sdp_init,
        .init_late      = omap4430_init_late,
-       .timer          = &omap4_timer,
+       .init_time      = omap4_local_timer_init,
        .restart        = omap44xx_restart,
  MACHINE_END
index 73be86852f6a80349a22a91fa2c0db76e2dfeeb2,8a5f814613c678b4b67b625395b4acf6fbad52f4..2590463e4b57d5729cc7e22ab9198c4c60464426
@@@ -155,9 -156,10 +155,9 @@@ DT_MACHINE_START(OMAP4_DT, "Generic OMA
        .map_io         = omap4_map_io,
        .init_early     = omap4430_init_early,
        .init_irq       = omap_gic_of_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = omap_generic_init,
        .init_late      = omap4430_init_late,
-       .timer          = &omap4_timer,
+       .init_time      = omap4_local_timer_init,
        .dt_compat      = omap4_boards_compat,
        .restart        = omap44xx_restart,
  MACHINE_END
@@@ -175,8 -177,9 +175,8 @@@ DT_MACHINE_START(OMAP5_DT, "Generic OMA
        .map_io         = omap5_map_io,
        .init_early     = omap5_init_early,
        .init_irq       = omap_gic_of_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = omap_generic_init,
-       .timer          = &omap5_timer,
+       .init_time      = omap5_realtime_timer_init,
        .dt_compat      = omap5_boards_compat,
        .restart        = omap44xx_restart,
  MACHINE_END
index 37495bc9a59c360eec5c33a2c77ffe52fe0c8378,ed8240c1a9b9597f3a3e8e154146bb9cea042680..22838fa44a607493467e9805a87b51aced1cf115
@@@ -453,8 -453,9 +453,8 @@@ MACHINE_START(OMAP4_PANDA, "OMAP4 Pand
        .map_io         = omap4_map_io,
        .init_early     = omap4430_init_early,
        .init_irq       = gic_init_irq,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = omap4_panda_init,
        .init_late      = omap4430_init_late,
-       .timer          = &omap4_timer,
+       .init_time      = omap4_local_timer_init,
        .restart        = omap44xx_restart,
  MACHINE_END
index 35ee21443f032c15b32bfbcdf04720053114a039,518c59bdbcda584890cb9e2110d2cd63ceb4043a..70b441ad1d18b2d4d17b20344133c004820e752d
@@@ -87,8 -97,9 +87,8 @@@ static void picoxcell_wdt_restart(char 
  DT_MACHINE_START(PICOXCELL, "Picochip picoXcell")
        .map_io         = picoxcell_map_io,
        .nr_irqs        = NR_IRQS_LEGACY,
 -      .init_irq       = picoxcell_init_irq,
 -      .handle_irq     = vic_handle_irq,
 +      .init_irq       = irqchip_init,
-       .timer          = &dw_apb_timer,
+       .init_time      = dw_apb_timer_init,
        .init_machine   = picoxcell_init_machine,
        .dt_compat      = picoxcell_dt_match,
        .restart        = picoxcell_wdt_restart,
index 728587c60770f9a3e78e0de2340879b791c68c00,f892862fd6aecbe2861eaa8b3fbfba74f7a9d3b7..5b1c8bfe6fa938e9c5413c4c556bad17db4cfe31
@@@ -472,7 -468,8 +468,7 @@@ MACHINE_START(REALVIEW_EB, "ARM-RealVie
        .map_io         = realview_eb_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_eb_timer,
+       .init_time      = realview_eb_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = realview_eb_init,
  #ifdef CONFIG_ZONE_DMA
        .dma_zone_size  = SZ_256M,
index 3d116c44c0d483c3d0345c99a23bbbb925c0bf9b,6a4524b93fc6a91d584b676e0da0c79579444b36..d5e83a1f6982bc2251c28be72f1c1836a8891e7e
@@@ -384,7 -380,8 +380,7 @@@ MACHINE_START(REALVIEW_PB1176, "ARM-Rea
        .map_io         = realview_pb1176_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_pb1176_timer,
+       .init_time      = realview_pb1176_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pb1176_init,
  #ifdef CONFIG_ZONE_DMA
        .dma_zone_size  = SZ_256M,
index e1b8efdf35b6a25eed91873c45d3d1359e2e9cc2,502f6e6c6913c984191ab1796c7c541648d15865..c3cfe213b5e66c2bf55294c389b98e0408423995
@@@ -367,7 -363,8 +363,7 @@@ MACHINE_START(REALVIEW_PB11MP, "ARM-Rea
        .map_io         = realview_pb11mp_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_pb11mp_timer,
+       .init_time      = realview_pb11mp_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pb11mp_init,
  #ifdef CONFIG_ZONE_DMA
        .dma_zone_size  = SZ_256M,
index 0b037f23b0f68fca500d4e2da21bfab177c4d8dd,85c81aaa05e897e2af8f7b2f29e2b34830bf4720..dde652a596202a80a35d11300c1343d4dbdf26e9
@@@ -308,7 -304,8 +304,7 @@@ MACHINE_START(REALVIEW_PBA8, "ARM-RealV
        .map_io         = realview_pba8_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_pba8_timer,
+       .init_time      = realview_pba8_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pba8_init,
  #ifdef CONFIG_ZONE_DMA
        .dma_zone_size  = SZ_256M,
index a1f1ef557c67e263c6437ac4695159033ccc69b2,a15a7b0be29b31e97fc10aec5d33dafc2431729b..54f0185b01e336ab9518a2b6e4cd130c879ccdef
@@@ -404,7 -400,8 +400,7 @@@ MACHINE_START(REALVIEW_PBX, "ARM-RealVi
        .map_io         = realview_pbx_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_pbx_timer,
+       .init_time      = realview_pbx_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pbx_init,
  #ifdef CONFIG_ZONE_DMA
        .dma_zone_size  = SZ_256M,
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index e2419296a9e23ae87f6b3a0789e16d6f5c55d4ff,0a3146dc081a3b45eb48afc6515316b5836b76f4..a40d5eb381241041049432496dcb185ef84a485f
@@@ -271,8 -272,9 +271,8 @@@ MACHINE_START(SMDK6440, "SMDK6440"
        .atag_offset    = 0x100,
  
        .init_irq       = s5p6440_init_irq,
 -      .handle_irq     = vic_handle_irq,
        .map_io         = smdk6440_map_io,
        .init_machine   = smdk6440_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5p64x0_restart,
  MACHINE_END
index 999273107fa9034a6c14e3cf9d968ea0aac08e64,36917f2ea25afea6d5f2c798fffedfee8c1e0ed1..703e576a26e0d7ac082a218fdb9163b1e1d4e2fb
@@@ -290,8 -291,9 +290,8 @@@ MACHINE_START(SMDK6450, "SMDK6450"
        .atag_offset    = 0x100,
  
        .init_irq       = s5p6450_init_irq,
 -      .handle_irq     = vic_handle_irq,
        .map_io         = smdk6450_map_io,
        .init_machine   = smdk6450_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5p64x0_restart,
  MACHINE_END
index c3f30953df212c0442ed6b52a9192a681361a6fb,39a9197d17468bd8e43fc0ab52a5964714733d61..185a19583898dc3221d0fa69122a96a21a9d0a6b
@@@ -253,8 -254,9 +253,8 @@@ MACHINE_START(SMDKC100, "SMDKC100"
        /* Maintainer: Byungho Min <bhmin@samsung.com> */
        .atag_offset    = 0x100,
        .init_irq       = s5pc100_init_irq,
 -      .handle_irq     = vic_handle_irq,
        .map_io         = smdkc100_map_io,
        .init_machine   = smdkc100_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s5pc100_restart,
  MACHINE_END
index 45eb0a8244c4086cafbb95491fd6bda40f186504,1fb44a5ebb83d07ee059134de888eec68778f29c..11900a8e88a3369daba6dd5a5e64f94a9adb7319
@@@ -684,8 -685,9 +684,8 @@@ MACHINE_START(AQUILA, "Aquila"
           Kyungmin Park <kyungmin.park@samsung.com> */
        .atag_offset    = 0x100,
        .init_irq       = s5pv210_init_irq,
 -      .handle_irq     = vic_handle_irq,
        .map_io         = aquila_map_io,
        .init_machine   = aquila_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5pv210_restart,
  MACHINE_END
index 9f7f1607c5474af66fb6a2c7bdfef098f73b172f,ababdca2b3e416d4b446c4a2db5d43e5a8b7a562..5704815917466bda61ffcda940aefd213bf78829
@@@ -971,9 -972,10 +971,9 @@@ MACHINE_START(GONI, "GONI"
        /* Maintainers: Kyungmin Park <kyungmin.park@samsung.com> */
        .atag_offset    = 0x100,
        .init_irq       = s5pv210_init_irq,
 -      .handle_irq     = vic_handle_irq,
        .map_io         = goni_map_io,
        .init_machine   = goni_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .reserve        = &goni_reserve,
        .restart        = s5pv210_restart,
  MACHINE_END
index 2f152f919769e8bd90edfc5c5fa98ac785398699,acfb0ebce13b18574a96aaa0f2a29f86f11e9a60..28bd0248a3e2ec57be4499bfa517d0fd5271e0b4
@@@ -151,9 -152,10 +151,9 @@@ MACHINE_START(SMDKC110, "SMDKC110"
        /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
        .atag_offset    = 0x100,
        .init_irq       = s5pv210_init_irq,
 -      .handle_irq     = vic_handle_irq,
        .map_io         = smdkc110_map_io,
        .init_machine   = smdkc110_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5pv210_restart,
        .reserve        = &smdkc110_reserve,
  MACHINE_END
index 721967bc3927c7df9336ef7e1b61b10d68d1f6b8,e1d820f3b4269f123b198a94f74163e1db2bd346..3c73f36869bbab37d49134882f3f1cb8f9758f08
@@@ -327,9 -328,10 +327,9 @@@ MACHINE_START(SMDKV210, "SMDKV210"
        /* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
        .atag_offset    = 0x100,
        .init_irq       = s5pv210_init_irq,
 -      .handle_irq     = vic_handle_irq,
        .map_io         = smdkv210_map_io,
        .init_machine   = smdkv210_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5pv210_restart,
        .reserve        = &smdkv210_reserve,
  MACHINE_END
index 0ed270f8b0a831369fb8a8c7269bbeba69722469,1e6fc6eccdf32107d87a490620b5e6be87169833..2d4c5531819c06d7038149f0e872fa1b3a16a79d
@@@ -128,8 -129,9 +128,8 @@@ MACHINE_START(TORBRECK, "TORBRECK"
        /* Maintainer: Hyunchul Ko <ghcstop@gmail.com> */
        .atag_offset    = 0x100,
        .init_irq       = s5pv210_init_irq,
 -      .handle_irq     = vic_handle_irq,
        .map_io         = torbreck_map_io,
        .init_machine   = torbreck_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5pv210_restart,
  MACHINE_END
index fd28358e2abea007dcf267eea8517dd2981b1f9d,d81a66362b7cf97a4b629ca2ac84b8d4731ece79..705bc63c7984fcdd0c96de9c64e3cc9d210a3817
@@@ -668,7 -668,8 +668,7 @@@ MACHINE_START(AG5EVM, "ag5evm"
        .init_early     = sh73a0_add_early_devices,
        .nr_irqs        = NR_IRQS_LEGACY,
        .init_irq       = sh73a0_init_irq,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = ag5evm_init,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = sh73a0_earlytimer_init,
  MACHINE_END
index a1d315fc329a397d030edb8a7e59e78d31576651,2f24994f2ef84eb6b67662c2664ac9c6a4e1d8b0..d759a9c2b9e83fc3a6c9d2b1f86602239472f8cc
@@@ -550,7 -550,8 +550,7 @@@ MACHINE_START(KOTA2, "kota2"
        .init_early     = sh73a0_add_early_devices,
        .nr_irqs        = NR_IRQS_LEGACY,
        .init_irq       = sh73a0_init_irq,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = kota2_init,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = sh73a0_earlytimer_init,
  MACHINE_END
index f3f180dc23e50c5b4f33a29634f4fbc40e8e42b7,59be864f599242d4c667ee6c1dc39a044441cf92..c254782aa7276c59297273ab6c7d40ede2a15097
@@@ -88,8 -89,9 +88,8 @@@ DT_MACHINE_START(KZM9D_DT, "kzm9d"
        .init_early     = emev2_add_early_devices,
        .nr_irqs        = NR_IRQS_LEGACY,
        .init_irq       = emev2_init_irq,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = kzm9d_add_standard_devices,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = shmobile_timer_init,
        .dt_compat      = kzm9d_boards_compat_dt,
  MACHINE_END
index 278c8f26f22e6a5f4dceb65d5e9e0c5257b9c9ff,adb23ef5112136c3bdae378ec94d2b0153c8704a..ac9428530d7b5254b30ad33e9b81e1dd458e47c6
@@@ -792,9 -792,10 +792,9 @@@ DT_MACHINE_START(KZM9G_DT, "kzm9g"
        .init_early     = sh73a0_add_early_devices,
        .nr_irqs        = NR_IRQS_LEGACY,
        .init_irq       = sh73a0_init_irq,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = kzm_init,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = sh73a0_earlytimer_init,
        .restart        = kzm9g_restart,
        .dt_compat      = kzm9g_boards_compat_dt,
  MACHINE_END
index fad8db103e9ca6e4c2bb2e5a44cf157e1d0536d4,ca45a0c50afe4de0326dcd0a259ea4dde57b792a..cdcb799e802f0e2e5bcdaeaf42e50107a18b0197
@@@ -381,7 -382,8 +381,7 @@@ MACHINE_START(MARZEN, "marzen"
        .init_early     = r8a7779_add_early_devices,
        .nr_irqs        = NR_IRQS_LEGACY,
        .init_irq       = r8a7779_init_irq,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = marzen_init,
        .init_late      = marzen_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = r8a7779_earlytimer_init,
  MACHINE_END
index 646d61b22153d6ae8abbc0485c79b82dc553614b,ea61cb657ac3aa275285d37765fabcec393052bd..47662a581c0a59d172529f06970b4e2ecb271e3d
@@@ -454,9 -464,10 +454,9 @@@ DT_MACHINE_START(EMEV2_DT, "Generic Emm
        .smp            = smp_ops(emev2_smp_ops),
        .init_early     = emev2_init_delay,
        .nr_irqs        = NR_IRQS_LEGACY,
 -      .init_irq       = emev2_init_irq_dt,
 -      .handle_irq     = gic_handle_irq,
 +      .init_irq       = irqchip_init,
        .init_machine   = emev2_add_standard_devices_dt,
-       .timer          = &shmobile_timer,
+       .init_time      = shmobile_timer_init,
        .dt_compat      = emev2_boards_compat_dt,
  MACHINE_END
  
index 7d55febf23688a336a600d351e7ac050f39dd881,b54baea5f809ebe69b32cdd95f73c8aa38bd48d9..27d68468a027b85aaebccc6fc6b9833baa8b4960
@@@ -100,8 -105,9 +100,8 @@@ static const char *altera_dt_match[] = 
  DT_MACHINE_START(SOCFPGA, "Altera SOCFPGA")
        .smp            = smp_ops(socfpga_smp_ops),
        .map_io         = socfpga_map_io,
 -      .init_irq       = gic_init_irq,
 -      .handle_irq     = gic_handle_irq,
 +      .init_irq       = socfpga_init_irq,
-       .timer          = &dw_apb_timer,
+       .init_time      = dw_apb_timer_init,
        .init_machine   = socfpga_cyclone5_init,
        .restart        = socfpga_cyclone5_restart,
        .dt_compat      = altera_dt_match,
index 5de3e6f24aad4f6fb649e5272d78a761ee665d07,e77d05d480827be039ce6e1b83957725d1e73783..56214d1076ef6ff092e3ca9d427c217f539fd8cc
@@@ -90,8 -90,9 +90,8 @@@ static void __init spear1310_map_io(voi
  DT_MACHINE_START(SPEAR1310_DT, "ST SPEAr1310 SoC with Flattened Device Tree")
        .smp            =       smp_ops(spear13xx_smp_ops),
        .map_io         =       spear1310_map_io,
 -      .init_irq       =       spear13xx_dt_init_irq,
 -      .handle_irq     =       gic_handle_irq,
 +      .init_irq       =       irqchip_init,
-       .timer          =       &spear13xx_timer,
+       .init_time      =       spear13xx_timer_init,
        .init_machine   =       spear1310_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear1310_dt_board_compat,
index 18331deaed76f7480d6886f440f07c85952b44cb,ebc254779069040f646449d3d770c99f175c4400..9a28beb2a11393634aa3a41016acc36d95c54618
@@@ -184,8 -184,9 +184,8 @@@ static const char * const spear1340_dt_
  DT_MACHINE_START(SPEAR1340_DT, "ST SPEAr1340 SoC with Flattened Device Tree")
        .smp            =       smp_ops(spear13xx_smp_ops),
        .map_io         =       spear13xx_map_io,
 -      .init_irq       =       spear13xx_dt_init_irq,
 -      .handle_irq     =       gic_handle_irq,
 +      .init_irq       =       irqchip_init,
-       .timer          =       &spear13xx_timer,
+       .init_time      =       spear13xx_timer_init,
        .init_machine   =       spear1340_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear1340_dt_board_compat,
index 22e3cd57e7504c8a627bbf9c753334d4ed67e3d1,7f7acf775f07f5521cb44cb90419bd6fa25274e2..c7d2b4a8d8cc8dade91873b7a137656395b40051
@@@ -181,7 -182,13 +181,3 @@@ void __init spear13xx_timer_init(void
        spear_setup_of_timer();
        twd_local_timer_of_register();
  }
--
- struct sys_timer spear13xx_timer = {
-       .init = spear13xx_timer_init,
 -static const struct of_device_id gic_of_match[] __initconst = {
 -      { .compatible = "arm,cortex-a9-gic", .data = gic_of_init },
 -      { /* Sentinel */ }
--};
 -
 -void __init spear13xx_dt_init_irq(void)
 -{
 -      of_irq_init(gic_of_match);
 -}
index 499479bbbaf9a3c683420fb73161ceaa2acb2ad0,2630efa93f5ed56babfe7715275b8497868f5d70..bbc9b7e9c62c39bca8753f225a5ecb450783a6a6
@@@ -212,8 -212,9 +212,8 @@@ static void __init spear300_map_io(void
  
  DT_MACHINE_START(SPEAR300_DT, "ST SPEAr300 SoC with Flattened Device Tree")
        .map_io         =       spear300_map_io,
 -      .init_irq       =       spear3xx_dt_init_irq,
 -      .handle_irq     =       vic_handle_irq,
 +      .init_irq       =       irqchip_init,
-       .timer          =       &spear3xx_timer,
+       .init_time      =       spear3xx_timer_init,
        .init_machine   =       spear300_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear300_dt_board_compat,
index 367d9be40ec12df2b573071834ae8babde13c59f,b6147eaebcde8a46cf803a79b69d48792bb862f7..c13a434a81959309b59f0ce3919f2704aa371063
@@@ -254,8 -254,9 +254,8 @@@ static void __init spear310_map_io(void
  
  DT_MACHINE_START(SPEAR310_DT, "ST SPEAr310 SoC with Flattened Device Tree")
        .map_io         =       spear310_map_io,
 -      .init_irq       =       spear3xx_dt_init_irq,
 -      .handle_irq     =       vic_handle_irq,
 +      .init_irq       =       irqchip_init,
-       .timer          =       &spear3xx_timer,
+       .init_time      =       spear3xx_timer_init,
        .init_machine   =       spear310_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear310_dt_board_compat,
index 34c212e6cbf6b0abc91050927d0ed6ec4bdbe53e,53160f713afe72f7d4a7f3f1765eb793931817f1..e1c77079a3e52f8805bd0c9ad5a3c9b61ccd2624
@@@ -268,8 -268,9 +268,8 @@@ static void __init spear320_map_io(void
  
  DT_MACHINE_START(SPEAR320_DT, "ST SPEAr320 SoC with Flattened Device Tree")
        .map_io         =       spear320_map_io,
 -      .init_irq       =       spear3xx_dt_init_irq,
 -      .handle_irq     =       vic_handle_irq,
 +      .init_irq       =       irqchip_init,
-       .timer          =       &spear3xx_timer,
+       .init_time      =       spear3xx_timer_init,
        .init_machine   =       spear320_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear320_dt_board_compat,
index c6003ef0c9f6688c0d29a2931052eab2e055854a,89f4c58908e318381c5d67f41117f0c54da0fd1a..b2ba516ca2d4ee4a46e8eb9a4a328bebb09aa3dd
@@@ -112,7 -115,16 +112,3 @@@ void __init spear3xx_timer_init(void
  
        spear_setup_of_timer();
  }
--
- struct sys_timer spear3xx_timer = {
-       .init = spear3xx_timer_init,
 -static const struct of_device_id vic_of_match[] __initconst = {
 -      { .compatible = "arm,pl190-vic", .data = vic_of_init, },
 -      { .compatible = "st,spear300-shirq", .data = spear300_shirq_of_init, },
 -      { .compatible = "st,spear310-shirq", .data = spear310_shirq_of_init, },
 -      { .compatible = "st,spear320-shirq", .data = spear320_shirq_of_init, },
 -      { /* Sentinel */ }
--};
 -
 -void __init spear3xx_dt_init_irq(void)
 -{
 -      of_irq_init(vic_of_match);
 -}
index 3f6fac0fdb719bb2aa53c60a4545b26276881e12,1f85bc07c6cb3c75e2a75beaff00bf3e819bf5d5..b8bd33ca88bdba6a7d880bfd8ef56d8cf3507dc3
@@@ -424,10 -421,21 +420,10 @@@ static const char *spear600_dt_board_co
        NULL
  };
  
 -static const struct of_device_id vic_of_match[] __initconst = {
 -      { .compatible = "arm,pl190-vic", .data = vic_of_init, },
 -      { /* Sentinel */ }
 -};
 -
 -static void __init spear6xx_dt_init_irq(void)
 -{
 -      of_irq_init(vic_of_match);
 -}
 -
  DT_MACHINE_START(SPEAR600_DT, "ST SPEAr600 (Flattened Device Tree)")
        .map_io         =       spear6xx_map_io,
 -      .init_irq       =       spear6xx_dt_init_irq,
 -      .handle_irq     =       vic_handle_irq,
 +      .init_irq       =       irqchip_init,
-       .timer          =       &spear6xx_timer,
+       .init_time      =       spear6xx_timer_init,
        .init_machine   =       spear600_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear600_dt_board_compat,
Simple merge
index 04008c8185354f9dd255edd9136236ceef5b3fff,3b9956aabf5ab5b7cb678a1e29b970263846a8b5..5ed81bab2d4bb4eb6aaf561200c400cc8d1cc506
@@@ -200,7 -202,8 +200,7 @@@ DT_MACHINE_START(TEGRA_DT, "nVidia Tegr
        .smp            = smp_ops(tegra_smp_ops),
        .init_early     = tegra20_init_early,
        .init_irq       = tegra_dt_init_irq,
-       .timer          = &tegra_sys_timer,
 -      .handle_irq     = gic_handle_irq,
+       .init_time      = tegra_init_timer,
        .init_machine   = tegra_dt_init,
        .init_late      = tegra_dt_init_late,
        .restart        = tegra_assert_system_reset,
index 672db8abdc3861bdb3dd55941df7e133efdca3e2,381b2f25f0b4f89ca191491121909e152e6278c9..12dc2ddeca640914c694d92a0735813de37c6591
@@@ -111,7 -112,8 +111,7 @@@ DT_MACHINE_START(TEGRA30_DT, "NVIDIA Te
        .map_io         = tegra_map_common_io,
        .init_early     = tegra30_init_early,
        .init_irq       = tegra_dt_init_irq,
-       .timer          = &tegra_sys_timer,
 -      .handle_irq     = gic_handle_irq,
+       .init_time      = tegra_init_timer,
        .init_machine   = tegra30_dt_init,
        .init_late      = tegra_init_late,
        .restart        = tegra_assert_system_reset,
index 26b48fa9ea62b68ca7cad2e9fec4a0df09f34e85,100a8b764dad684427a2bedfefe2c7b0890c8732..12060ae4e8f186f49467066fd6d8dc7de3092c49
@@@ -1779,7 -1779,8 +1779,7 @@@ MACHINE_START(U300, "Ericsson AB U335 S
        .map_io         = u300_map_io,
        .nr_irqs        = 0,
        .init_irq       = u300_init_irq,
-       .timer          = &u300_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = u300_timer_init,
        .init_machine   = u300_init_machine,
        .restart        = u300_restart,
  MACHINE_END
index af406c7b0d70dea1d18662a771c7bfff3944d865,e1dfa24b4fb92ac4630ae2d0df463290bdcbbec4..0e928d28175914daddaf63f496b29e8139be1d9f
@@@ -750,7 -751,8 +750,7 @@@ MACHINE_START(U8500, "ST-Ericsson MOP50
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
        /* we re-use nomadik timer here */
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = mop500_init_machine,
        .init_late      = ux500_init_late,
  MACHINE_END
@@@ -759,7 -761,8 +759,7 @@@ MACHINE_START(U8520, "ST-Ericsson U852
        .atag_offset    = 0x100,
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = mop500_init_machine,
        .init_late      = ux500_init_late,
  MACHINE_END
@@@ -769,7 -772,8 +769,7 @@@ MACHINE_START(HREFV60, "ST-Ericsson U85
        .smp            = smp_ops(ux500_smp_ops),
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = hrefv60_init_machine,
        .init_late      = ux500_init_late,
  MACHINE_END
@@@ -780,7 -784,8 +780,7 @@@ MACHINE_START(SNOWBALL, "Calao Systems 
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
        /* we re-use nomadik timer here */
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = snowball_init_machine,
        .init_late      = NULL,
  MACHINE_END
index 4c91d767c99cb5402f8cc74d70a6903293c859fd,7875d3c85df1a61f5dd81604747fe6c70e0ead83..218a6b1ada7e82e3859d00e25ee047f31ec2a0a8
@@@ -340,7 -340,8 +340,7 @@@ DT_MACHINE_START(U8500_DT, "ST-Ericsso
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
        /* we re-use nomadik timer here */
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = u8500_init_machine,
        .init_late      = NULL,
        .dt_compat      = stericsson_dt_platform_compat,
Simple merge
index ddeec670d50da16198b1151ee9e24afccdbfb70f,187c1da2c4bbbcaeb0c4c7afc9ffe3a9d2f6ae61..1caef1093793de3d0580d26ff93cd711dfcb2717
@@@ -38,7 -39,8 +38,7 @@@ MACHINE_START(VERSATILE_AB, "ARM-Versat
        .map_io         = versatile_map_io,
        .init_early     = versatile_init_early,
        .init_irq       = versatile_init_irq,
-       .timer          = &versatile_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = versatile_timer_init,
        .init_machine   = versatile_init,
        .restart        = versatile_restart,
  MACHINE_END
index f48f2e4b667dee300bcdc4d8668f4d2b13a85f6e,ccf9f8a9206712a3f684bad505fc3250cfe6f14b..2558f2e957c37cb63f32d1efd8c2d487e3add7b7
@@@ -45,7 -46,8 +45,7 @@@ DT_MACHINE_START(VERSATILE_PB, "ARM-Ver
        .map_io         = versatile_map_io,
        .init_early     = versatile_init_early,
        .init_irq       = versatile_init_irq,
-       .timer          = &versatile_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = versatile_timer_init,
        .init_machine   = versatile_dt_init,
        .dt_compat      = versatile_dt_match,
        .restart        = versatile_restart,
index e52eb23a0a289d6a621a0af47bf8ded4476dff45,1cabc0aa569d5bb1fc035171beb438bc6eb48ae7..611d140c8695a35b9768221bd125ac76a7e393cc
@@@ -106,7 -107,8 +106,7 @@@ MACHINE_START(VERSATILE_PB, "ARM-Versat
        .map_io         = versatile_map_io,
        .init_early     = versatile_init_early,
        .init_irq       = versatile_init_irq,
-       .timer          = &versatile_timer,
 -      .handle_irq     = vic_handle_irq,
+       .init_time      = versatile_timer_init,
        .init_machine   = versatile_pb_init,
        .restart        = versatile_restart,
  MACHINE_END
index 82be02b3ae28e1010bbc7531c9990024361da67a,08bd548ef144baca12da82a531ff99a1d027d97f..915683cb67d60a6eed062fa49cbc7781a11f761b
@@@ -376,7 -372,8 +372,7 @@@ MACHINE_START(VEXPRESS, "ARM-Versatile 
        .map_io         = v2m_map_io,
        .init_early     = v2m_init_early,
        .init_irq       = v2m_init_irq,
-       .timer          = &v2m_timer,
+       .init_time      = v2m_timer_init,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = v2m_init,
        .restart        = vexpress_restart,
  MACHINE_END
@@@ -486,8 -489,9 +478,8 @@@ DT_MACHINE_START(VEXPRESS_DT, "ARM-Vers
        .smp            = smp_ops(vexpress_smp_ops),
        .map_io         = v2m_dt_map_io,
        .init_early     = v2m_dt_init_early,
 -      .init_irq       = v2m_dt_init_irq,
 +      .init_irq       = irqchip_init,
-       .timer          = &v2m_dt_timer,
+       .init_time      = v2m_dt_timer_init,
        .init_machine   = v2m_dt_init,
 -      .handle_irq     = gic_handle_irq,
        .restart        = vexpress_restart,
  MACHINE_END
index 2d96745dd9ad450b5b248afbc6aef5645595b4ce,2ae4bce652b6f78a1ca5fe2e39cf5baf3255e2a6..6472a69cbfe110b5ab2cfeecc9574aff465be686
@@@ -103,8 -110,9 +96,8 @@@ static const char *xilinx_dt_match[] = 
  
  MACHINE_START(XILINX_EP107, "Xilinx Zynq Platform")
        .map_io         = xilinx_map_io,
 -      .init_irq       = xilinx_irq_init,
 -      .handle_irq     = gic_handle_irq,
 +      .init_irq       = irqchip_init,
        .init_machine   = xilinx_init_machine,
-       .timer          = &xttcpss_sys_timer,
+       .init_time      = xilinx_zynq_timer_init,
        .dt_compat      = xilinx_dt_match,
  MACHINE_END
index c80c599897b92c1df4edeb86f3ae72ff7ac17989,1e744c5a0ffe974c76debea9ea0d889098003d23..fc62ac5c6d4fa5324712cc3578be327261a6872c
  #define TRACE_SYSCALLS()
  #endif
  
+ #ifdef CONFIG_CLKSRC_OF
+ #define CLKSRC_OF_TABLES() . = ALIGN(8);                              \
+                          VMLINUX_SYMBOL(__clksrc_of_table) = .;       \
+                          *(__clksrc_of_table)                         \
+                          *(__clksrc_of_table_end)
+ #else
+ #define CLKSRC_OF_TABLES()
+ #endif
 +#ifdef CONFIG_IRQCHIP
 +#define IRQCHIP_OF_MATCH_TABLE()                                      \
 +      . = ALIGN(8);                                                   \
 +      VMLINUX_SYMBOL(__irqchip_begin) = .;                            \
 +      *(__irqchip_of_table)                                           \
 +      *(__irqchip_of_end)
 +#else
 +#define IRQCHIP_OF_MATCH_TABLE()
 +#endif
 +
  #define KERNEL_DTB()                                                  \
        STRUCT_ALIGN();                                                 \
        VMLINUX_SYMBOL(__dtb_start) = .;                                \
        DEV_DISCARD(init.rodata)                                        \
        CPU_DISCARD(init.rodata)                                        \
        MEM_DISCARD(init.rodata)                                        \
 -      KERNEL_DTB()
+       CLKSRC_OF_TABLES()                                              \
 +      KERNEL_DTB()                                                    \
 +      IRQCHIP_OF_MATCH_TABLE()
  
  #define INIT_TEXT                                                     \
        *(.init.text)                                                   \