diff options
author | Tomasz Figa <tomasz.figa@gmail.com> | 2013-04-06 02:40:36 +0200 |
---|---|---|
committer | Tomasz Figa <tomasz.figa@gmail.com> | 2013-08-12 21:53:22 +0200 |
commit | 11ad39ede24ee42909d58dc95031d96da46e33bd (patch) | |
tree | 3de054343ca1712338b7a2526d1bac460e0f6cb2 /include/clocksource/samsung_pwm.h | |
parent | 615c19e1607be1586aa2848712770423288c4f0e (diff) | |
download | linux-stable-11ad39ede24ee42909d58dc95031d96da46e33bd.tar.gz linux-stable-11ad39ede24ee42909d58dc95031d96da46e33bd.tar.bz2 linux-stable-11ad39ede24ee42909d58dc95031d96da46e33bd.zip |
pwm: Add new pwm-samsung driver
This patch introduces new Samsung PWM driver, which is completely
rewritten to be multiplatform- and DeviceTree-aware.
In addition, remaining problems of old driver are fixed, such as:
- proper handling of hardware variants,
- synchronization on SMP systems,
- handling of boundary parameter values,
- hardware sharing with PWM clocksource driver,
- undefined state of PWM output after stopping PWM channel.
Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Mark Brown <broonie@linaro.org>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thierry Reding <thierry.reding@gmail.com>
Diffstat (limited to 'include/clocksource/samsung_pwm.h')
-rw-r--r-- | include/clocksource/samsung_pwm.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/clocksource/samsung_pwm.h b/include/clocksource/samsung_pwm.h index 5c449c8199e9..0c7d48b8b396 100644 --- a/include/clocksource/samsung_pwm.h +++ b/include/clocksource/samsung_pwm.h @@ -20,7 +20,14 @@ #define SAMSUNG_PWM_NUM 5 +/* + * Following declaration must be in an ifdef due to this symbol being static + * in pwm-samsung driver if the clocksource driver is not compiled in and the + * spinlock is not shared between both drivers. + */ +#ifdef CONFIG_CLKSRC_SAMSUNG_PWM extern spinlock_t samsung_pwm_lock; +#endif struct samsung_pwm_variant { u8 bits; |