PWM: ab8500: Fix wrong value shift for disable/enable PWM
PATCH RESEND 1/1 PWM: ab8500: Fix wrong value shift for disable/enable PWM
Current code only works when pdev->id is 1. Fix it by passing correct bitvalues argument to abx500_mask_and_set_register_interruptible.
Having DISABLE_PWM/ENABLE_PWM does not make the code better in readability because the bitvalues depends on pdev->id.
Thus drop defines for DISABLE_PWM/ENABLE_PWM.
This patch also removes a unnecessary return in ab8500_pwm_disable.
--- drivers/pwm/pwm-ab8500.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
drivers/pwm/pwm-ab8500.c +2 -7
@@ -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 = {
Signature · 1 line
1.8.1.2
Thierry Reding
AppliedQuoted 9 lines · Axel Lin
Current code only works when
pdev->idis 1. Fix it by passing correct bitvalues argument toabx500_mask_and_set_register_interruptible.Having DISABLE_PWM/ENABLE_PWM does not make the code better in readability because the bitvalues depends on
pdev->id.
Thus drop defines for DISABLE_PWM/ENABLE_PWM.This patch also removes a unnecessary return in
ab8500_pwm_disable.
Quoted 7 lines
Signed-off-by Axel Lin <[email protected]>Acked-by Linus Walleij <[email protected]>Acked-by Philippe Begnic <[email protected]>--- drivers/pwm/pwm-ab8500.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
Applied, thanks.
Thierry