Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54b02347 authored by Axel Lin's avatar Axel Lin Committed by Thierry Reding
Browse files

pwm: ab8500: Fix wrong value shift for disable/enable PWM



Current code only works when pdev->id is 1. Fix it by passing correct
bit values to abx500_mask_and_set_register_interruptible().

Having DISABLE_PWM/ENABLE_PWM does not make the code more readable
because the bit values depend on pdev->id. Thus drop the DISABLE_PWM
and ENABLE_PWM defines.

This patch also removes an unnecessary return in ab8500_pwm_disable().

Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Acked-by: default avatarAlexandre BOURDIOL <alexandre.bourdiol@st.com>
Acked-by: default avatarPhilippe Begnic <philippe.begnic@st.com>
Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
parent 3bdf8781
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -20,10 +20,6 @@
#define AB8500_PWM_OUT_CTRL2_REG	0x61
#define AB8500_PWM_OUT_CTRL7_REG	0x66

/* backlight driver constants */
#define ENABLE_PWM			1
#define DISABLE_PWM			0

struct ab8500_pwm_chip {
	struct pwm_chip chip;
};
@@ -64,7 +60,7 @@ static int ab8500_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)

	ret = abx500_mask_and_set_register_interruptible(chip->dev,
				AB8500_MISC, AB8500_PWM_OUT_CTRL7_REG,
				1 << (chip->base - 1), ENABLE_PWM);
				1 << (chip->base - 1), 1 << (chip->base - 1));
	if (ret < 0)
		dev_err(chip->dev, "%s: Failed to enable PWM, Error %d\n",
							pwm->label, ret);
@@ -77,11 +73,10 @@ static void ab8500_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)

	ret = abx500_mask_and_set_register_interruptible(chip->dev,
				AB8500_MISC, AB8500_PWM_OUT_CTRL7_REG,
				1 << (chip->base - 1), DISABLE_PWM);
				1 << (chip->base - 1), 0);
	if (ret < 0)
		dev_err(chip->dev, "%s: Failed to disable PWM, Error %d\n",
							pwm->label, ret);
	return;
}

static const struct pwm_ops ab8500_pwm_ops = {