]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge tag 'clksrc-cleanup-for-3.10-part2' of git://sources.calxeda.com/kernel/linux...
authorOlof Johansson <olof@lixom.net>
Wed, 17 Apr 2013 17:10:01 +0000 (10:10 -0700)
committerOlof Johansson <olof@lixom.net>
Wed, 17 Apr 2013 17:10:01 +0000 (10:10 -0700)
This is the 2nd part of ARM timer clean-ups for 3.10. This series has
the following changes:

- Add sched_clock selection logic to select the highest frequency clock
- Use full 64-bit arch timer counter for sched_clock
- Convert arch timer, sp804 and integrator-cp timers to CLKSRC_OF and
adapt all users to use clocksource_of_init

* tag 'clksrc-cleanup-for-3.10-part2' of git://sources.calxeda.com/kernel/linux:
  devtree: add binding documentation for sp804
  ARM: integrator-cp: convert use CLKSRC_OF for timer init
  ARM: versatile: use OF init for sp804 timer
  ARM: versatile: add versatile dtbs to dtbs target
  ARM: vexpress: remove extra timer-sp control register clearing
  ARM: dts: vexpress: disable CA9 core tile sp804 timer
  ARM: vexpress: remove sp804 OF init
  ARM: highbank: use OF init for sp804 timer
  ARM: timer-sp: convert to use CLKSRC_OF init
  OF: add empty of_device_is_available for !OF
  ARM: convert arm/arm64 arch timer to use CLKSRC_OF init
  ARM: make machine_desc->init_time default to clocksource_of_init
  ARM: arch_timer: use full 64-bit counter for sched_clock
  ARM: make sched_clock just call a function pointer
  ARM: sched_clock: allow changing to higher frequency counter

Signed-off-by: Olof Johansson <olof@lixom.net>
This has a nasty set of conflicts with the exynos MCT code, which was
moved in a separate branch, and then fixed up when merged in, but still
conflicts a bit here. It should have been sorted out by this merge though.

1  2 
arch/arm/Kconfig
arch/arm/mach-exynos/mach-exynos5-dt.c
arch/arm/mach-integrator/integrator_cp.c
arch/arm/mach-omap2/timer.c
arch/arm/mach-shmobile/setup-emev2.c
arch/arm/mach-shmobile/setup-sh73a0.c
drivers/clocksource/Kconfig
drivers/clocksource/exynos_mct.c
include/linux/of.h

Simple merge
index f12aa6c15da4db1da20a4abbda6368b48a4d3b1a,7dd6453a213edbd390b339bd88bf5a51de74faf8..d5a13dcb64b80f4d4f095f8075444aadce1abf93
@@@ -624,12 -620,10 +623,10 @@@ void __init omap5_realtime_timer_init(v
  {
        int err;
  
 -      omap5_sync32k_timer_init();
 +      omap4_sync32k_timer_init();
        realtime_counter_init();
  
-       err = arch_timer_of_register();
-       if (err)
-               pr_err("%s: arch_timer_register failed %d\n", __func__, err);
+         clocksource_of_init();
  }
  #endif /* CONFIG_SOC_OMAP5 */
  
Simple merge
index e8cd93a5c5503cdbd86342f0e3742fedcdca531b,ea66316f0ac95cf6cebefc071fbeebee271762f6..fdf3894b1cc31e0291d2fc00e35bfbe61185f735
@@@ -1031,13 -918,11 +1031,12 @@@ static const char *sh73a0_boards_compat
  };
  
  DT_MACHINE_START(SH73A0_DT, "Generic SH73A0 (Flattened Device Tree)")
 +      .smp            = smp_ops(sh73a0_smp_ops),
        .map_io         = sh73a0_map_io,
 -      .init_early     = sh73a0_add_early_devices_dt,
 +      .init_early     = sh73a0_init_delay,
        .nr_irqs        = NR_IRQS_LEGACY,
 -      .init_irq       = sh73a0_init_irq_dt,
 +      .init_irq       = irqchip_init,
        .init_machine   = sh73a0_add_standard_devices_dt,
-       .init_time      = shmobile_timer_init,
        .dt_compat      = sh73a0_boards_compat_dt,
  MACHINE_END
  #endif /* CONFIG_USE_OF */
Simple merge
index 957af8636c9d666f428a703eb4ff9bb465831cc0,04aff6a61e8d52b1abb29b3aa7f3d6c59d5bd769..b078d7cbc93089f08860e4fac3ea2cc7facabd29
  #include <linux/delay.h>
  #include <linux/percpu.h>
  #include <linux/of.h>
 +#include <linux/of_irq.h>
 +#include <linux/of_address.h>
 +#include <linux/clocksource.h>
  
- #include <asm/arch_timer.h>
  #include <asm/localtimer.h>
  
  #include <plat/cpu.h>
Simple merge