diff options
| author | Tomasz Figa <tomasz.figa@gmail.com> | 2013-04-05 20:40:36 -0400 |
|---|---|---|
| committer | Tomasz Figa <tomasz.figa@gmail.com> | 2013-08-12 15:53:22 -0400 |
| commit | 11ad39ede24ee42909d58dc95031d96da46e33bd (patch) | |
| tree | 3de054343ca1712338b7a2526d1bac460e0f6cb2 /include/clocksource | |
| parent | 615c19e1607be1586aa2848712770423288c4f0e (diff) | |
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')
| -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 @@ | |||
| 20 | 20 | ||
| 21 | #define SAMSUNG_PWM_NUM 5 | 21 | #define SAMSUNG_PWM_NUM 5 |
| 22 | 22 | ||
| 23 | /* | ||
| 24 | * Following declaration must be in an ifdef due to this symbol being static | ||
| 25 | * in pwm-samsung driver if the clocksource driver is not compiled in and the | ||
| 26 | * spinlock is not shared between both drivers. | ||
| 27 | */ | ||
| 28 | #ifdef CONFIG_CLKSRC_SAMSUNG_PWM | ||
| 23 | extern spinlock_t samsung_pwm_lock; | 29 | extern spinlock_t samsung_pwm_lock; |
| 30 | #endif | ||
| 24 | 31 | ||
| 25 | struct samsung_pwm_variant { | 32 | struct samsung_pwm_variant { |
| 26 | u8 bits; | 33 | u8 bits; |
