diff options
Diffstat (limited to 'drivers/pwm/pwm-twl.c')
-rw-r--r-- | drivers/pwm/pwm-twl.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/pwm/pwm-twl.c b/drivers/pwm/pwm-twl.c index 04f76725d591..7a993b056638 100644 --- a/drivers/pwm/pwm-twl.c +++ b/drivers/pwm/pwm-twl.c | |||
@@ -269,6 +269,22 @@ static void twl6030_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) | |||
269 | goto out; | 269 | goto out; |
270 | } | 270 | } |
271 | 271 | ||
272 | val |= TWL6030_PWM_TOGGLE(pwm->hwpwm, TWL6030_PWMXEN); | ||
273 | |||
274 | ret = twl_i2c_write_u8(TWL6030_MODULE_ID1, val, TWL6030_TOGGLE3_REG); | ||
275 | if (ret < 0) { | ||
276 | dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label); | ||
277 | goto out; | ||
278 | } | ||
279 | |||
280 | val &= ~TWL6030_PWM_TOGGLE(pwm->hwpwm, TWL6030_PWMXEN); | ||
281 | |||
282 | ret = twl_i2c_write_u8(TWL6030_MODULE_ID1, val, TWL6030_TOGGLE3_REG); | ||
283 | if (ret < 0) { | ||
284 | dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label); | ||
285 | goto out; | ||
286 | } | ||
287 | |||
272 | twl->twl6030_toggle3 = val; | 288 | twl->twl6030_toggle3 = val; |
273 | out: | 289 | out: |
274 | mutex_unlock(&twl->mutex); | 290 | mutex_unlock(&twl->mutex); |