pwm: pca9685: Fix wrong argument to set MODE1_SLEEP bit
authorAxel Lin <axel.lin@ingics.com>
Wed, 19 Jun 2013 17:27:27 +0000 (01:27 +0800)
committerThierry Reding <thierry.reding@gmail.com>
Wed, 26 Jun 2013 21:23:54 +0000 (23:23 +0200)
Current code actually does not set MODE1_SLEEP bit because the new value for
bitmask (0x1) is wrong. To set MODE1_SLEEP bit, we should pass MODE1_SLEEP
as the new value for bitmask.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-pca9685.c

index c9f9e65..3fb775d 100644 (file)
@@ -190,7 +190,7 @@ static void pca9685_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm)
 
        if (--pca->active_cnt == 0)
                regmap_update_bits(pca->regmap, PCA9685_MODE1, MODE1_SLEEP,
-                                  0x1);
+                                  MODE1_SLEEP);
 }
 
 static const struct pwm_ops pca9685_pwm_ops = {
@@ -264,7 +264,8 @@ static int pca9685_pwm_remove(struct i2c_client *client)
 {
        struct pca9685 *pca = i2c_get_clientdata(client);
 
-       regmap_update_bits(pca->regmap, PCA9685_MODE1, MODE1_SLEEP, 0x1);
+       regmap_update_bits(pca->regmap, PCA9685_MODE1, MODE1_SLEEP,
+                          MODE1_SLEEP);
 
        return pwmchip_remove(&pca->chip);
 }