From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: From: Tomasz Figa Subject: Re: [PATCH v2 00/18] Final Samsung PWM support cleanup Date: Sat, 22 Jun 2013 20:04:47 +0200 Message-ID: <2101400.j50IudOSWr@flatron> In-Reply-To: <201306222001.49600.heiko@sntech.de> References: <1371766383-29077-1-git-send-email-tomasz.figa@gmail.com> <201306222001.49600.heiko@sntech.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" List-ID: To: Heiko =?ISO-8859-1?Q?St=FCbner?= Cc: linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pwm@vger.kernel.org, Kukjin Kim , Arnd Bergmann , Olof Johansson , Sylwester Nawrocki , Mark Brown , Thomas Abraham , Thierry Reding Hi Heiko, On Saturday 22 of June 2013 20:01:49 Heiko St=FCbner wrote: > Am Freitag, 21. Juni 2013, 00:12:45 schrieb Tomasz Figa: > > Since we now have a proper Samsung PWM clocksource driver in place,= > > we can proceed with further cleanup of PWM timers support on Samsun= g > > SoCs.>=20 > > This series attempts to achieve this goal by: > > 1) moving remaining Samsung platforms to the new clocksource drive= r > > 2) removing old clocksource driver > > 3) adding new multiplatform- and DT-aware PWM driver > > 4) moving all Samsung platforms to use the new PWM driver > > 5) removing old PWM driver > > 6) removing all PWM-related code that is not used anymore > >=20 > > Cleaning up the PWM driver is a bit tricky, because the design of > > current driver makes it completely unsuitable for DT and > > multiplatform and would require a heavy rework to make it usable, > > breaking any existing Samsung PWM users by the way. To avoid any > > breakage I decided to keep the old driver, add new one, move all > > platforms to it and then remove the old one. > >=20 > > See particular patches for more detailed descriptions. > >=20 > > On S3C6410-based Tiny6410 (Mini6410-compatible), after enabling > > pwm-beeper and Exynos4210-based Origen board (with PWM0 attached to= a > > scope): > >=20 > > Tested-by: Tomasz Figa >=20 > On a s3c2416 based machine (with the additional two v3 patches) >=20 > Tested-by: Heiko Stuebner >=20 >=20 > and again thanks for working on this :-) Thanks for testing! I hope we can get this merged ASAP, as this is an important prerequisit= e=20 for further work on S3C24xx and S3C64xx... Best regards, Tomasz > > Changes since v1: > > - made sure that suspend/resume is handled correctly in both > > =20 > > clocksource and PWM drivers, > > =20 > > - fixed incorrect definition of AUTORELOAD bit for channel 4, > > - fixed order of registering PWM device and calling samsung_bl_set= (), > > =20 > > which assumes that PWM device has been already registered, > > =20 > > - corrected commit messages of several patches, > > - addressed all the valid comments from reviewers, including clean= up > > =20 > > of most code originally copied from previous PWM driver, > > =20 > > - rebased on top of current Kgene's for-next, > > - tested on Exynos4210, verifying correct PWM output with a scope.= > >=20 > > Needs testing on other platforms as I could only compile test for > > them. > >=20 > > Tomasz Figa (18): > > ARM: SAMSUNG: Unify base address definitions of timer block > > ARM: SAMSUNG: Add new PWM platform device > > ARM: SAMSUNG: Set PWM platform data > > clocksource: samsung_pwm_timer: Cache clocksource register addres= s > > clocksource: samsung_pwm_timer: Do not use clocksource_mmio > > clocksource: samsung_pwm_timer: Handle suspend/resume correctly > > ARM: SAMSUNG: Move all platforms to new clocksource driver > > ARM: SAMSUNG: Remove old samsung-time driver > > ARM: SAMSUNG: Remove unused PWM timer IRQ chip code > > pwm: samsung: Rename to pwm-samsung-legacy > > pwm: Add new pwm-samsung driver > > ARM: SAMSUNG: Rework private data handling in dev-backlight > > ARM: SAMSUNG: Modify board files to use new PWM platform device > > pwm: Remove superseded pwm-samsung-legacy driver > > ARM: SAMSUNG: Remove old PWM timer platform devices > > ARM: SAMSUNG: Remove pwm-clock infrastructure > > ARM: SAMSUNG: Remove remaining uses of plat/regs-timer.h header > > ARM: SAMSUNG: Remove plat/regs-timer.h header > > =20 > > arch/arm/Kconfig | 1 - > > arch/arm/mach-s3c24xx/Kconfig | 12 +- > > arch/arm/mach-s3c24xx/clock-s3c2410.c | 1 - > > arch/arm/mach-s3c24xx/clock-s3c2412.c | 1 - > > arch/arm/mach-s3c24xx/clock-s3c2416.c | 2 - > > arch/arm/mach-s3c24xx/clock-s3c2443.c | 2 - > > arch/arm/mach-s3c24xx/common.c | 27 + > > arch/arm/mach-s3c24xx/include/mach/map.h | 2 + > > arch/arm/mach-s3c24xx/mach-h1940.c | 4 +- > > arch/arm/mach-s3c24xx/mach-rx1950.c | 5 +- > > arch/arm/mach-s3c64xx/Kconfig | 4 +- > > arch/arm/mach-s3c64xx/clock.c | 2 - > > arch/arm/mach-s3c64xx/common.c | 32 +- > > arch/arm/mach-s3c64xx/include/mach/irqs.h | 8 - > > arch/arm/mach-s3c64xx/include/mach/map.h | 1 + > > arch/arm/mach-s3c64xx/irq-pm.c | 2 - > > arch/arm/mach-s3c64xx/mach-crag6410.c | 4 +- > > arch/arm/mach-s3c64xx/mach-hmt.c | 4 +- > > arch/arm/mach-s3c64xx/mach-smartq.c | 4 +- > > arch/arm/mach-s3c64xx/mach-smdk6410.c | 5 +- > > arch/arm/mach-s5p64x0/Kconfig | 4 +- > > arch/arm/mach-s5p64x0/clock-s5p6440.c | 2 - > > arch/arm/mach-s5p64x0/clock-s5p6450.c | 2 - > > arch/arm/mach-s5p64x0/common.c | 27 + > > arch/arm/mach-s5p64x0/include/mach/irqs.h | 2 - > > arch/arm/mach-s5p64x0/include/mach/map.h | 1 + > > arch/arm/mach-s5p64x0/mach-smdk6440.c | 5 +- > > arch/arm/mach-s5p64x0/mach-smdk6450.c | 5 +- > > arch/arm/mach-s5p64x0/pm.c | 3 - > > arch/arm/mach-s5pc100/Kconfig | 2 +- > > arch/arm/mach-s5pc100/clock.c | 2 - > > arch/arm/mach-s5pc100/common.c | 28 + > > arch/arm/mach-s5pc100/include/mach/irqs.h | 2 - > > arch/arm/mach-s5pc100/include/mach/map.h | 1 + > > arch/arm/mach-s5pc100/mach-smdkc100.c | 5 +- > > arch/arm/mach-s5pv210/Kconfig | 2 +- > > arch/arm/mach-s5pv210/clock.c | 1 - > > arch/arm/mach-s5pv210/common.c | 28 + > > arch/arm/mach-s5pv210/include/mach/irqs.h | 2 - > > arch/arm/mach-s5pv210/include/mach/map.h | 1 + > > arch/arm/mach-s5pv210/mach-smdkv210.c | 5 +- > > arch/arm/mach-s5pv210/pm.c | 10 - > > arch/arm/plat-samsung/Kconfig | 14 - > > arch/arm/plat-samsung/Makefile | 3 - > > arch/arm/plat-samsung/dev-backlight.c | 61 +- > > arch/arm/plat-samsung/devs.c | 42 +- > > arch/arm/plat-samsung/include/plat/clock.h | 4 - > > arch/arm/plat-samsung/include/plat/devs.h | 1 + > > 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/pwm-clock.h | 81 --- > > arch/arm/plat-samsung/include/plat/pwm-core.h | 24 + > > arch/arm/plat-samsung/include/plat/regs-timer.h | 124 ---- > > arch/arm/plat-samsung/include/plat/samsung-time.h | 23 - > > arch/arm/plat-samsung/irq-vic-timer.c | 98 --- > > arch/arm/plat-samsung/pwm-clock.c | 474 > > -------------- > > arch/arm/plat-samsung/s5p-irq.c | 4 - > > arch/arm/plat-samsung/samsung-time.c | 394 ---------= --- > > drivers/clocksource/samsung_pwm_timer.c | 84 +-- > > drivers/pwm/pwm-samsung.c | 694 > >=20 > > ++++++++++++++------- 60 files changed, 766 insertions(+), 1644 > > deletions(-) > >=20 > > delete mode 100644 arch/arm/plat-samsung/include/plat/irq-vic-time= r.h > > delete mode 100644 arch/arm/plat-samsung/include/plat/pwm-clock.h > > create mode 100644 arch/arm/plat-samsung/include/plat/pwm-core.h > > delete mode 100644 arch/arm/plat-samsung/include/plat/regs-timer.h= > > delete mode 100644 arch/arm/plat-samsung/irq-vic-timer.c > > delete mode 100644 arch/arm/plat-samsung/pwm-clock.c > > delete mode 100644 arch/arm/plat-samsung/samsung-time.c