summaryrefslogtreecommitdiff
path: root/drivers/pwm/pwm-twl.c
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@gmail.com>2016-09-08 10:59:30 +0200
committerThierry Reding <thierry.reding@gmail.com>2016-09-08 10:59:30 +0200
commitdc8e6e1e8f2d2719dd396708b0f56d8b73c9ea52 (patch)
treefa718cd29fd65ad180b57856a9ee67e2bc324c44 /drivers/pwm/pwm-twl.c
parent51f01e4cbaf321effa75a21611ed5c34ea7cc583 (diff)
parent2fbc487df6e6927bc0a0092f86d4d15961e070de (diff)
Merge branch 'for-4.9/drivers' into for-next
Diffstat (limited to 'drivers/pwm/pwm-twl.c')
-rw-r--r--drivers/pwm/pwm-twl.c16
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)
goto out;
}
+ val |= TWL6030_PWM_TOGGLE(pwm->hwpwm, TWL6030_PWMXEN);
+
+ ret = twl_i2c_write_u8(TWL6030_MODULE_ID1, val, TWL6030_TOGGLE3_REG);
+ if (ret < 0) {
+ dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+ goto out;
+ }
+
+ val &= ~TWL6030_PWM_TOGGLE(pwm->hwpwm, TWL6030_PWMXEN);
+
+ ret = twl_i2c_write_u8(TWL6030_MODULE_ID1, val, TWL6030_TOGGLE3_REG);
+ if (ret < 0) {
+ dev_err(chip->dev, "%s: Failed to disable PWM\n", pwm->label);
+ goto out;
+ }
+
twl->twl6030_toggle3 = val;
out:
mutex_unlock(&twl->mutex);