Merge branch 'exynos/pwm-clocksource' into late/multiplatform
authorArnd Bergmann <arnd@arndb.de>
Mon, 6 May 2013 21:49:09 +0000 (23:49 +0200)
committerArnd Bergmann <arnd@arndb.de>
Mon, 6 May 2013 21:49:09 +0000 (23:49 +0200)
This series from Tomasz Figa restores support for the pwm clocksource
in Exynos, which was broken during the conversion of the platform
to the common clk framework. The clocksource is only used in one
board in the mainline kernel (universal_c210), and this makes it
work for DT based probing as well as restoring the non-DT based
case.

* exynos/pwm-clocksource:
  ARM: dts: exynops4210: really add universal_c210 dts
  ARM: dts: exynos4210: Add basic dts file for universal_c210 board
  ARM: dts: exynos4: Add node for PWM device
  ARM: SAMSUNG: Do not register legacy timer interrupts on Exynos
  clocksource: samsung_pwm_timer: Work around rounding errors in clockevents core
  clocksource: samsung_pwm_timer: Correct programming of clock events
  clocksource: samsung_pwm_timer: Use proper clockevents max_delta
  clocksource: samsung_pwm_timer: Add support for non-DT platforms
  clocksource: samsung_pwm_timer: Drop unused samsung_pwm struct
  clocksource: samsung_pwm_timer: Keep all driver data in a structure
  clocksource: samsung_pwm_timer: Make PWM spinlock global
  clocksource: samsung_pwm_timer: Let platforms select the driver
  Documentation: Add device tree bindings for Samsung PWM timers
  clocksource: add samsung pwm timer driver

Conflicts:
arch/arm/boot/dts/Makefile
arch/arm/mach-exynos/common.c
drivers/clocksource/Kconfig
drivers/clocksource/Makefile

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1  2 
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/exynos4.dtsi
arch/arm/mach-exynos/common.c
arch/arm/plat-samsung/Kconfig
drivers/clocksource/Kconfig
drivers/clocksource/Makefile

index d3cd880d70b31e90703490a90d9866e5a7875858,ff48893d621cfe613c113d45b1172010631de1e4..2d870f4e4e2b18164c83ce9d63f518ee9bc86995
@@@ -42,10 -42,8 +42,11 @@@ dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510
  dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
        exynos4210-smdkv310.dtb \
        exynos4210-trats.dtb \
+       exynos4210-universal_c210.dtb \
 +      exynos4412-odroidx.dtb \
        exynos4412-smdk4412.dtb \
 +      exynos4412-origen.dtb \
 +      exynos5250-arndale.dtb \
        exynos5250-smdk5250.dtb \
        exynos5250-snow.dtb \
        exynos5440-ssdk5440.dtb
Simple merge
index 9208079d5d52084704f32dac962bd7cc51330364,8abf2b6b98c6268ac8756ff962717bc0b0f25117..4bc1c49c69f1c70b171eb82c2f87139402cddc47
@@@ -447,15 -455,7 +447,8 @@@ void __init exynos4_init_irq(void
  #endif
  
        if (!of_have_populated_dt())
 -              combiner_init(S5P_VA_COMBINER_BASE, NULL);
 +              combiner_init(S5P_VA_COMBINER_BASE, NULL,
 +                            max_combiner_nr(), COMBINER_IRQ(0, 0));
-       /*
-        * The parameters of s5p_init_irq() are for VIC init.
-        * Theses parameters should be NULL and 0 because EXYNOS4
-        * uses GIC instead of VIC.
-        */
-       s5p_init_irq(NULL, 0);
  }
  
  void __init exynos5_init_irq(void)
Simple merge
index 73fcddb8314d4c1fba7277ddb98d8d06aaad526a,6d6174978f95edfb95bbda0b205ac15a7d7ab364..5d9bab2b5012a2ad0ce3439361c88190511ed4c3
@@@ -71,7 -68,11 +71,16 @@@ config CLKSRC_METAG_GENERI
        help
          This option enables support for the Meta per-thread timers.
  
 +config CLKSRC_EXYNOS_MCT
 +      def_bool y if ARCH_EXYNOS
 +      help
 +        Support for Multi Core Timer controller on Exynos SoCs.
++
+ config CLKSRC_SAMSUNG_PWM
+       bool
+       select CLKSRC_MMIO
+       help
+         This is a new clocksource driver for the PWM timer found in
+         Samsung S3C, S5P and Exynos SoCs, replacing an earlier driver
+         for all devicetree enabled platforms. This driver will be
+         needed only on systems that do not have the Exynos MCT available.
index cd1f09cbd61a7c37895ce5c0c46d552b9b77076c,891c9f2af0218f579746b76d9beade2b298c520b..2289f0cb4c4c517405b21cd8c862369314d37822
@@@ -19,8 -19,7 +19,9 @@@ obj-$(CONFIG_ARCH_BCM2835)    += bcm2835_t
  obj-$(CONFIG_SUNXI_TIMER)     += sunxi_timer.o
  obj-$(CONFIG_ARCH_TEGRA)      += tegra20_timer.o
  obj-$(CONFIG_VT8500_TIMER)    += vt8500_timer.o
 +obj-$(CONFIG_CADENCE_TTC_TIMER)       += cadence_ttc_timer.o
 +obj-$(CONFIG_CLKSRC_EXYNOS_MCT)       += exynos_mct.o
+ obj-$(CONFIG_CLKSRC_SAMSUNG_PWM)      += samsung_pwm_timer.o
  
  obj-$(CONFIG_ARM_ARCH_TIMER)          += arm_arch_timer.o
  obj-$(CONFIG_CLKSRC_METAG_GENERIC)    += metag_generic.o