summaryrefslogtreecommitdiffstats
path: root/include/clocksource/samsung_pwm.h
diff options
context:
space:
mode:
authorTomasz Figa <tomasz.figa@gmail.com>2013-04-06 02:40:36 +0200
committerTomasz Figa <tomasz.figa@gmail.com>2013-08-12 21:53:22 +0200
commit11ad39ede24ee42909d58dc95031d96da46e33bd (patch)
tree3de054343ca1712338b7a2526d1bac460e0f6cb2 /include/clocksource/samsung_pwm.h
parent615c19e1607be1586aa2848712770423288c4f0e (diff)
downloadlinux-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.h7
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;