[PATCH v3 00/12] ARM: samsung-time: Prepare for multiplatform support
Tomasz Figa
tomasz.figa at gmail.com
Sat Mar 9 15:23:09 EST 2013
This series is an attempt to make the samsung-time clocksource driver ready
for multiplatform kernels. It moves the driver to drivers/clocksource, cleans
it up from uses of static platform-specific definitions, simplifies timer
interrupt handling and adds Device Tree support.
Tested on a Tiny6410 board (Mini6410-compatible) both with and without Devicee
Tree (with my DT patches for S3C64xx). Compile tested for other related SoCs.
Changes since v2:
(http://thread.gmane.org/gmane.linux.kernel.samsung-soc/16158)
- Addressed comments from Rob Herring and Mark Rutland
- Removed unused register definitions
- Replaced samsung,source-timer and samsung,event-timer properties
with samsung,pwm-outputs property that defines which PWM channels
are reserved for PWM outputs on particular platform
- Split non-DT and DT initialization into two functions
- Fixed a copy paste error
Changes since v1:
(http://thread.gmane.org/gmane.linux.kernel.samsung-soc/16005)
- Addressed comments from Mark Rutland
- Documented struct samsung_timer_variant
- Dropped inactive mail addresses from CC
Tomasz Figa (12):
ARM: SAMSUNG: Move samsung-time to drivers/clocksource
clocksource: samsung-time: Set platform-specific parameters at runtime
clocksource: samsung-time: Drop useless defines from public header
ARM: SAMSUNG: Move samsung-time.h header to inlude/clocksource
clocksource: samsung-time: Use local register definitions
clocksource: samsung-time: Remove use of static register mapping
clocksource: samsung-time: Use clk_get_sys for getting clocks
ARM: SAMSUNG: devs: Drop unnecessary IRQ resources of timer devices
clocksource: samsung-time: Do not use static IRQ definition
clocksource: samsung-time: Move IRQ mask/ack handling to the driver
ARM: SAMSUNG: Remove unused PWM timer IRQ chip code
clocksource: samsung-time: Add Device Tree support
.../devicetree/bindings/timer/samsung-pwm.txt | 33 ++
arch/arm/Kconfig | 1 -
arch/arm/mach-exynos/include/mach/irqs.h | 3 +-
arch/arm/mach-exynos/mach-universal_c210.c | 15 +-
arch/arm/mach-s3c24xx/common.c | 14 +
arch/arm/mach-s3c24xx/mach-amlm5900.c | 2 +-
arch/arm/mach-s3c24xx/mach-anubis.c | 2 +-
arch/arm/mach-s3c24xx/mach-at2440evb.c | 2 +-
arch/arm/mach-s3c24xx/mach-bast.c | 2 +-
arch/arm/mach-s3c24xx/mach-gta02.c | 2 +-
arch/arm/mach-s3c24xx/mach-h1940.c | 2 +-
arch/arm/mach-s3c24xx/mach-jive.c | 2 +-
arch/arm/mach-s3c24xx/mach-mini2440.c | 2 +-
arch/arm/mach-s3c24xx/mach-n30.c | 2 +-
arch/arm/mach-s3c24xx/mach-nexcoder.c | 2 +-
arch/arm/mach-s3c24xx/mach-osiris.c | 2 +-
arch/arm/mach-s3c24xx/mach-otom.c | 2 +-
arch/arm/mach-s3c24xx/mach-qt2410.c | 2 +-
arch/arm/mach-s3c24xx/mach-rx1950.c | 2 +-
arch/arm/mach-s3c24xx/mach-rx3715.c | 2 +-
arch/arm/mach-s3c24xx/mach-smdk2410.c | 2 +-
arch/arm/mach-s3c24xx/mach-smdk2413.c | 2 +-
arch/arm/mach-s3c24xx/mach-smdk2416.c | 2 +-
arch/arm/mach-s3c24xx/mach-smdk2440.c | 2 +-
arch/arm/mach-s3c24xx/mach-smdk2443.c | 2 +-
arch/arm/mach-s3c24xx/mach-tct_hammer.c | 2 +-
arch/arm/mach-s3c24xx/mach-vr1000.c | 2 +-
arch/arm/mach-s3c24xx/mach-vstms.c | 2 +-
arch/arm/mach-s3c64xx/common.c | 19 +-
arch/arm/mach-s3c64xx/include/mach/irqs.h | 8 -
arch/arm/mach-s3c64xx/mach-anw6410.c | 2 +-
arch/arm/mach-s3c64xx/mach-crag6410.c | 2 +-
arch/arm/mach-s3c64xx/mach-hmt.c | 2 +-
arch/arm/mach-s3c64xx/mach-mini6410.c | 2 +-
arch/arm/mach-s3c64xx/mach-ncp.c | 2 +-
arch/arm/mach-s3c64xx/mach-real6410.c | 2 +-
arch/arm/mach-s3c64xx/mach-smartq.c | 2 +-
arch/arm/mach-s3c64xx/mach-smartq5.c | 2 +-
arch/arm/mach-s3c64xx/mach-smartq7.c | 2 +-
arch/arm/mach-s3c64xx/mach-smdk6400.c | 2 +-
arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +-
arch/arm/mach-s5p64x0/common.c | 15 +
arch/arm/mach-s5p64x0/include/mach/irqs.h | 2 -
arch/arm/mach-s5p64x0/mach-smdk6440.c | 2 +-
arch/arm/mach-s5p64x0/mach-smdk6450.c | 2 +-
arch/arm/mach-s5pc100/common.c | 15 +
arch/arm/mach-s5pc100/include/mach/irqs.h | 2 -
arch/arm/mach-s5pc100/mach-smdkc100.c | 2 +-
arch/arm/mach-s5pv210/common.c | 15 +
arch/arm/mach-s5pv210/include/mach/irqs.h | 2 -
arch/arm/mach-s5pv210/mach-aquila.c | 2 +-
arch/arm/mach-s5pv210/mach-goni.c | 2 +-
arch/arm/mach-s5pv210/mach-smdkc110.c | 2 +-
arch/arm/mach-s5pv210/mach-smdkv210.c | 2 +-
arch/arm/mach-s5pv210/mach-torbreck.c | 2 +-
arch/arm/plat-samsung/Kconfig | 14 -
arch/arm/plat-samsung/Makefile | 2 -
arch/arm/plat-samsung/devs.c | 28 +-
arch/arm/plat-samsung/include/plat/irq-vic-timer.h | 13 -
arch/arm/plat-samsung/include/plat/irqs.h | 9 -
arch/arm/plat-samsung/include/plat/samsung-time.h | 53 --
arch/arm/plat-samsung/irq-vic-timer.c | 98 ----
arch/arm/plat-samsung/s5p-irq.c | 3 -
arch/arm/plat-samsung/samsung-time.c | 394 --------------
drivers/clocksource/Kconfig | 7 +
drivers/clocksource/Makefile | 1 +
drivers/clocksource/samsung-time.c | 571 +++++++++++++++++++++
include/clocksource/samsung-time.h | 57 ++
68 files changed, 808 insertions(+), 670 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timer/samsung-pwm.txt
delete mode 100644 arch/arm/plat-samsung/include/plat/irq-vic-timer.h
delete mode 100644 arch/arm/plat-samsung/include/plat/samsung-time.h
delete mode 100644 arch/arm/plat-samsung/irq-vic-timer.c
delete mode 100644 arch/arm/plat-samsung/samsung-time.c
create mode 100644 drivers/clocksource/samsung-time.c
create mode 100644 include/clocksource/samsung-time.h
--
1.8.1.5
More information about the linux-arm-kernel
mailing list