diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2017-01-28 10:10:40 -0500 |
---|---|---|
committer | Thierry Reding <thierry.reding@gmail.com> | 2017-01-30 02:13:39 -0500 |
commit | b5c050c719922901891bdd8580d224e2a0035db5 (patch) | |
tree | 5cb36aac5ece4729626dd424c6e13a781991f33d | |
parent | 684309e5043efaaa94d9b4e65f53f7fdde1f6675 (diff) |
pwm: lpss: Allow duty cycle to be 0
A duty cycle is represented by values [0..<period>] which reflects [0%..100%].
0% of the duty cycle means always off (logical "0") on output. Allow this in
the driver.
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
-rw-r--r-- | drivers/pwm/pwm-lpss.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/pwm/pwm-lpss.c b/drivers/pwm/pwm-lpss.c index 8642feeb8abd..ffa01ab907a6 100644 --- a/drivers/pwm/pwm-lpss.c +++ b/drivers/pwm/pwm-lpss.c | |||
@@ -107,8 +107,6 @@ static int pwm_lpss_config(struct pwm_chip *chip, struct pwm_device *pwm, | |||
107 | 107 | ||
108 | base_unit = DIV_ROUND_CLOSEST_ULL(freq, c); | 108 | base_unit = DIV_ROUND_CLOSEST_ULL(freq, c); |
109 | 109 | ||
110 | if (duty_ns <= 0) | ||
111 | duty_ns = 1; | ||
112 | on_time_div = 255ULL * duty_ns; | 110 | on_time_div = 255ULL * duty_ns; |
113 | do_div(on_time_div, period_ns); | 111 | do_div(on_time_div, period_ns); |
114 | on_time_div = 255ULL - on_time_div; | 112 | on_time_div = 255ULL - on_time_div; |